2010-09-24 16 views
10

Me gustaría detectar cuando un elemento HTML específico en la página se oculta. Esto generalmente ocurre debido a que un elemento principal (tal vez algunos niveles) se oculta. ¿Hay una manera simple de detectar esto? ¿O necesito atravesar el DOM y verificar cada padre?Detectar si el padre html está oculto

Respuesta

12
$(foo).is(":hidden") 

se lo pueden descubrir en las versiones actuales de jQuery.

8

Usted sólo puede comprobar si es :hidden, por ejemplo:

$(".selector:hidden").length > 0 
//or 
$(".selector").is(":hidden") 

Esto funciona si el padre está oculto, o cualquier padre, o el elemento directamente ... siempre y cuando el elemento en sí no tiene dimensiones , es :hidden.

5

De esta manera:

http://jsfiddle.net/2EVrM/

HTML:

<div id="test"> 
    <div id="test1"> 
    test 
    </div> 
</div>​ 

CSS:

#test{ 
    display:none; 
}​ 

JS:

alert($('#test1').is(":visible"))​ 
0

jQuery usa offsetHeight. Eso funciona en la mayoría de los navegadores. Pero puedes verificar eso sin jQuery también.

Cuestiones relacionadas