获得继承style.display属性

问题描述:

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

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

我试过了element.style.display属性,但是因为它是继承的,所以不给我我需要的东西?

任何想法??

通过CSS规则,display属性不会被继承(除非它可以显式设置为值inherit)。

如果一个元素有display: none,那么它的任何后代都不会显示出来,无论它们的display值是什么。要检测某个元素是否处于这种情况,您需要向上遍历文档树并检查所有祖先的计算样式(并且此时IE8以前的复杂度不支持window.getComputedStyle)。

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

+0

IE确实实现了['currentStyle'](http://www.quirksmode.org/dom/getstyles.html) – user123444555621 2012-01-13 13:22:35