2010-09-24 27 views
10

Tôi muốn phát hiện khi một phần tử HTML cụ thể trên trang bị ẩn. Điều này thường xảy ra do yếu tố gốc (có thể ít cấp) trở nên ẩn. Có cách nào đơn giản để phát hiện điều này không. Hay tôi cần phải đi qua DOM và kiểm tra từng phụ huynh?Phát hiện nếu cha mẹ html bị ẩn

Trả lời

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

có thể chỉ ra điều đó cho bạn trong các phiên bản jQuery hiện tại.

8

Bạn chỉ có thể kiểm tra nếu nó :hidden, ví dụ:

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

này hoạt động nếu phụ huynh là ẩn, hoặc bất kỳ phụ huynh, hoặc yếu tố trực tiếp ... miễn là các yếu tố chính nó không có kích thước , là :hidden.

5

Như thế này:

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 uses offsetHeight. Điều đó hoạt động trong hầu hết các trình duyệt. Nhưng bạn có thể kiểm tra mà không cần jQuery.

Các vấn đề liên quan