检测是否隐藏了html父级

Ron*_*lev 13 html jquery

我想检测页面上的特定HTML元素何时隐藏.这通常是由于父元素(可能很少级别)变得隐藏而发生的.有没有一种简单的方法来检测这一点.或者我是否需要遍历DOM并检查每个父项?

Mat*_*nen 15

$(foo).is(":hidden")
Run Code Online (Sandbox Code Playgroud)

可以在当前的jQuery版本中为您解决这个问题.


Nic*_*ver 9

你可以检查它是否是:hidden,例如:

$(".selector:hidden").length > 0
//or
$(".selector").is(":hidden")
Run Code Online (Sandbox Code Playgroud)

如果父项是隐藏的,或任何父项,或者直接元素,则此方法有效...只要元素本身没有维度,就可以了:hidden.


tre*_*ace 5

像这样:

http://jsfiddle.net/2EVrM/

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)