antes de que llame:En jQuery, ¿cómo puedo saber si el objeto actual está oculto o no?
$('myObject').show();
Quiero saber si está oculto o visible actualmente.
antes de que llame:En jQuery, ¿cómo puedo saber si el objeto actual está oculto o no?
$('myObject').show();
Quiero saber si está oculto o visible actualmente.
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.
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.
También es posible usar la palanca $(this).toggle();
+1, Esta es una solución muy simple si solo quiere alternar el estado del objeto. –
De jQuery FAQ:
var isVisible = $('myObject').is(':visible');
var isHidden = $('myObject').is(':hidden');
Creo que el valor para la exhibición es 'ninguna', o para la visibilidad está 'oculta'. – Misko
Sí, ya estaba editando eso. Gracias. –
Los selectores oculto y visible verifican la visualización y la visibilidad, así como las entradas ocultas. – Misko