Voglio controllare e ordinare gli elementi nascosti. È possibile trovare tutti gli elementi con attributo display
e valore none
?
Voglio controllare e ordinare gli elementi nascosti. È possibile trovare tutti gli elementi con attributo display
e valore none
?
Risposte:
Puoi usare : visible per elementi visibili e : hidden per scoprire elementi nascosti. Gli elementi nascosti hanno l' display
attributo impostato su none
.
hiddenElements = $(':hidden');
visibleElements = $(':visible');
Per controllare un elemento particolare.
if($('#yourID:visible').length == 0)
{
}
Gli elementi sono considerati visibili se consumano spazio nel documento. Gli elementi visibili hanno una larghezza o altezza maggiore di zero, Riferimento
Puoi anche usare is () con:visible
if(!$('#yourID').is(':visible'))
{
}
Se vuoi controllare il valore di display allora puoi usare css ()
if($('#yourID').css('display') == 'none')
{
}
Se si utilizza display, display
possono essere presenti i seguenti valori .
display: nessuno
display: in linea
blocco di visualizzazione
display: voce di elenco
display: blocco in linea
Controllare l'elenco completo dei possibili display
valori qui .
Per controllare la proprietà di visualizzazione con JavaScript
var isVisible = document.getElementById("yourID").style.display == "block";
var isHidden = document.getElementById("yourID").style.display == "none";
display: block;
scritto CSS in linea proveniente da jquery. non riesco a verificarlo con il tuo metodo. aiutami.
$("element").filter(function() { return $(this).css("display") == "none" });
style="display: none;"
. Le risposte utilizzano :visible
e :hidden
falliranno se si desidera la visibilità di un elemento specifico e un elemento padre viene nascosto poiché quei selettori restituiscono la visibilità complessiva sulla pagina (che non era la domanda posta).
visibility: 'hidden';
in CSS, quindi il controllo è finito anche controllando:$(this).css('visibility') != 'hidden'
Esistono due metodi in jQuery per verificare la visibilità:
$("#selector").is(":visible")
e
$("#selector").is(":hidden")
È inoltre possibile eseguire comandi in base alla visibilità nel selettore;
$("#selector:visible").hide()
o
$("#selector:hidden").show()
:visible
dipende anche dalla visibilità dell'antenato padre. Se un antenato è display: none
tutto discendente non sarà visibile indipendentemente dallo display
stato.
$('#selector').is(':visible');
:visible
dipende anche dalla visibilità dell'antenato padre. Se un antenato è display: none
tutto discendente non sarà visibile indipendentemente dallo display
stato.