2010-09-24 69 views
10

我想檢測頁面上的特定HTML元素何時隱藏。這通常是由於父元素(可能幾個級別)變得隱藏。有沒有一種簡單的方法來檢測這一點。或者我需要遍歷DOM並檢查每個父項?檢測HTML父項是否隱藏

回答

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

可以在當前的jQuery版本中爲你弄明白。

8

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

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

這工作如果父是隱藏的,或任何父母或元素直接...只要元素本身沒有尺寸,它是:hidden

5

像這樣:

http://jsfiddle.net/2EVrM/

HTML

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

CSS

#test{ 
    display:none; 
}​ 

JS

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

jQuery使用offsetHeight。這適用於大多數瀏覽器。但是你可以檢查沒有jQuery。