我想检测页面上的特定HTML元素何时隐藏.这通常是由于父元素(可能很少级别)变得隐藏而发生的.有没有一种简单的方法来检测这一点.或者我是否需要遍历DOM并检查每个父项?
你可以检查它是否是:hidden,例如:
$(".selector:hidden").length > 0
//or
$(".selector").is(":hidden")
Run Code Online (Sandbox Code Playgroud)
如果父项是隐藏的,或任何父项,或者直接元素,则此方法有效...只要元素本身没有维度,就可以了:hidden.
像这样:
HTML:
alert($('#test1').is(":visible"));Run Code Online (Sandbox Code Playgroud)
CSS:
#test {
display: none;
}Run Code Online (Sandbox Code Playgroud)
JS:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="test">
<div id="test1">
test
</div>
</div>Run Code Online (Sandbox Code Playgroud)