2010-09-24 17 views
10

Vorrei rilevare quando un elemento HTML specifico sulla pagina viene nascosto. Questo di solito accade a causa di un elemento genitore (forse pochi livelli in alto) che diventa nascosto. C'è un modo semplice per rilevare questo. O devo attraversare il DOM e controllare ogni genitore?Rileva se il genitore html è nascosto

risposta

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

può capirlo per voi nelle attuali versioni di jQuery.

8

Si può solo controllare se si tratta di :hidden, ad esempio:

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

Questo funziona se il genitore è nascosto, o qualsiasi genitore, o l'elemento direttamente ... fino a quando l'elemento stesso non ha dimensioni , è :hidden.

5

Ti piace questa:

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 utilizza offsetHeight. Funziona nella maggior parte dei browser. Ma puoi controllare anche senza jQuery.

Problemi correlati