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