获取继承的style.display属性

时间:2012-01-13 11:40:41

标签: javascript dom

使用纯JS,我需要确定从更高级别继承的元素的显示属性。

元素是嵌套在字段集中的输入,父字段集可能已将其display属性设置为none,如果需要,我需要检测该条件。

我尝试过获取element.style.display属性但是因为它继承了这不能给我我需要的东西吗?

任何想法?

1 个答案:

答案 0 :(得分:0)

根据CSS规则,display属性不会被继承(除非可以将其显式设置为值inherit)。

如果元素具有display: none,则不会显示其后代,无论其display值是什么。要检测元素是否处于这种情况,您需要向上遍历文档树并检查所有祖先的计算样式(然后是IE 8的复杂性,IE不支持window.getComputedStyle )。

所以这是可行的,但你确定没有更简单的方法吗?为什么你需要知道一个字段是否在一个没有显示的元素内(由于你的设置,大概是)?