Javascript 检查元素是否可见,DOM中隐藏了哪个父元素

Javascript 检查元素是否可见,DOM中隐藏了哪个父元素,javascript,jquery,html,css,Javascript,Jquery,Html,Css,CSS: #test { visibility: hidden; width: 400px; height: 400px; background-color: orange; } #subTest { width: 100px; height: 100px; background-color: gray; } HTML: <div id="test"&g

CSS:

#test {
        visibility: hidden;
        width: 400px;
        height: 400px;
        background-color: orange;
    }
    #subTest {
        width: 100px;
        height: 100px;
        background-color: gray;
    }
HTML:

<div id="test">
    <div id="subTest"></div>
</div>
结果是:

getClientRects,length = 1

offsetParent = [object HTMLBodyElement]

JQuery isVisible = true
似乎所有的方法都是无效的


那么如何检查子测试是否可见呢?

我认为这是不可能的。它们被称为级联样式表是有原因的。父元素和子元素之间存在语义关系

但是,作为一种解决方案,您可以克隆它并显示克隆。不知道你为什么要这么做。我认为您更可能需要更改标记,以便标记更有效地适合用例

但是自从我提到它。这是

代码:

希望这有帮助

蒂姆

这个

$('#subTest').css('visibility') == 'hidden' // true
因为父项是隐藏的,它将级联到子项。

如果父项是隐藏的,子项将不可见。。
var someElement = jQuery('#subDiv').clone();
someElement.appendTo('someOtherElement');
$('#subTest').css('visibility') == 'hidden' // true