2011-04-15 14 views
9

tôi đang phát triển một ứng dụng bằng cách sử dụng jquery. tôi muốn biết tình trạng của div Thời tiết các div là hiển thị trạng thái hoặc ẩn trạng thái một cái gì đó như thế này:Làm cách nào để biết trạng thái của div trong jquery?

if($("#test").show()==true) 
{ 
//some operration 
} 
else 
{ 
//some operration 
} 

alert($("#test").show()==true); luôn luôn hiển thị false.

hãy giúp tôi ...

Trả lời

21

Bạn có thể sử dụng là() và: bộ chọn hiển thị.

if($('#test').is(':visible')) { ... } 
+0

**: HIDDEN! =: NOT (: VISIBLE) ** http://bugs.jquery.com/ticket/4374 – diEcho

1

is(':visible') là, tất nhiên, chính xác.

Trong khá nhiều ứng dụng jQuery của tôi, tôi giới thiệu một plugin đơn giản isVisible.

$.fn.isVisible = function() { 
    return $.expr.filters.visible(this[0]); 
}; 

Chức năng này nhanh hơn khoảng 50 lần so với chức năng trên (jsPerf example) cho cùng chức năng.

if ($('#yourElement').isVisible()) {