2011-04-15 15 views
9

sto sviluppando un'applicazione utilizzando jquery. voglio conoscere lo stato del div wheather il div è mostrare o nascondere stato stato qualcosa di simile:Come conoscere lo stato del div in jquery?

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

alert($("#test").show()==true); mostra sempre false.

please help me ...

risposta

21

è possibile utilizzare è() e il: Selettore visibile.

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

**: NASCOSTO! =: NON (: VISIBILE) ** http://bugs.jquery.com/ticket/4374 – diEcho

1

is(':visible') è, naturalmente, corretto.

In quasi tutte le mie applicazioni jQuery, introduco un semplice plug-in isVisible.

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

Questo è circa 50 volte più veloce rispetto alla funzione di cui sopra (jsPerf example) per esattamente le stesse funzionalità.

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