2011-04-15 5 views
9

estoy desarrollando una aplicación usando jquery. quiero saber el estado del tiempo lo div la div es mostrar u ocultar el estado estado algo como esto:¿Cómo saber el estado del div en jquery?

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

alert($("#test").show()==true); siempre muestra false.

por favor, ayúdame ...

Respuesta

21

que puede utilizar es() y el selector: visibles.

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

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

1

is(':visible') es, por supuesto, correcto.

En casi todas mis aplicaciones jQuery, presento un plugin simple isVisible.

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

Esto es aproximadamente 50 veces más rápido que la función anterior (jsPerf example) por exactamente la misma funcionalidad.

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