检测是否隐藏了html父级

时间:2010-09-24 22:42:58

标签: jquery html

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

4 个答案:

答案 0 :(得分:14)

$(foo).is(":hidden")

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

答案 1 :(得分:8)

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

$(".selector:hidden").length > 0
//or
$(".selector").is(":hidden")

如果父项被隐藏,或任何父项或元素直接存在,则此方法有效...只要元素本身没有维度,它就是:hidden

答案 2 :(得分:5)

像这样:

http://jsfiddle.net/2EVrM/

<强> HTML

<div id="test">
    <div id="test1">
    test
    </div>
</div>​

<强> CSS

#test{
    display:none;
}​

<强> JS

alert($('#test1').is(":visible"))​

答案 3 :(得分:1)

jQuery使用offsetHeight。这适用于大多数浏览器。但你也可以在没有jQuery的情况下检查它。