使用纯JS,我需要确定从更高级别继承的元素的显示属性。
元素是嵌套在字段集中的输入,父字段集的显示属性可能设置为none,如果是这样,我需要检测该条件。
我已经尝试获取element.style.display属性,但由于它是继承的,所以无法满足我的需要??
有什么想法吗??
根据CSS规则,display
属性不会被继承(除非它可以显式设置为值inherit
)。
如果一个元素有display: none
,那么无论其display
值是多少,都不会显示其子元素。要检测一个元素是否处于这种情况,您需要向上遍历文档树,并检查出所有祖先的计算样式(然后会有一个复杂的问题,即在IE 8之前,IE不支持window.getComputedStyle
)。
所以这是可行的,但你确定没有更简单的方法吗?为什么你需要知道一个字段是否在一个没有显示的元素内(可能是由于你的设置)?