2009-02-04 32 views

Respuesta

9

Esto se comprueba con la función css():

if ($('myObject').css('display') == 'none') { 
    $('myObject').show(); 
} 

EDIT:

no estaba al tanto de la nueva onda en el selector: oculta es. Mi sugerencia aún es útil para probar otros atributos, pero la sugerencia de Alex es más agradable en este caso.

+0

Creo que el valor para la exhibición es 'ninguna', o para la visibilidad está 'oculta'. – Misko

+0

Sí, ya estaba editando eso. Gracias. –

+1

Los selectores oculto y visible verifican la visualización y la visibilidad, así como las entradas ocultas. – Misko

40

Hay 2 maneras de hacerlo, que yo sepa:

if ($('#something').is(':hidden')) { } 

o

if ($('#something').is(':visible')) { } 

ambos deberían trabajo.

También puede hacer algo como esto:

$('#something:hidden').show(); 
$('#something:visible').hide(); 

que sólo se llame .show() si el producto está oculto o sólo llamar .hide() si el objeto ya es visible.

10

También es posible usar la palanca $(this).toggle();

+0

+1, Esta es una solución muy simple si solo quiere alternar el estado del objeto. –

3

De jQuery FAQ:

var isVisible = $('myObject').is(':visible'); 
var isHidden = $('myObject').is(':hidden'); 
Cuestiones relacionadas