Chcę sprawdzać i sortować ukryte elementy. Czy można znaleźć wszystkie elementy z atrybutem displayi wartością none?
Chcę sprawdzać i sortować ukryte elementy. Czy można znaleźć wszystkie elementy z atrybutem displayi wartością none?
Odpowiedzi:
Możesz użyć : widoczne dla widocznych elementów i : ukryte, aby znaleźć ukryte elementy. Te ukryte elementy mają displayustawiony atrybut na none.
hiddenElements = $(':hidden');
visibleElements = $(':visible');
Aby sprawdzić konkretny element.
if($('#yourID:visible').length == 0)
{
}
Elementy są uważane za widoczne, jeśli zajmują miejsce w dokumencie. Widoczne elementy mają szerokość lub wysokość większą niż zero, odniesienie
Możesz także użyć is () z:visible
if(!$('#yourID').is(':visible'))
{
}
Jeśli chcesz sprawdzić wartość wyświetlania, możesz użyć css ()
if($('#yourID').css('display') == 'none')
{
}
Jeśli używasz wyświetlacza, displaymogą mieć następujące wartości .
Nie wyświetla się
wyświetlacz: wbudowany
Blok wyświetlacza
wyświetl: element listy
display: blok wbudowany
Sprawdź pełną listę możliwych displaywartości tutaj .
Aby sprawdzić właściwość wyświetlania za pomocą JavaScript
var isVisible = document.getElementById("yourID").style.display == "block";
var isHidden = document.getElementById("yourID").style.display == "none";
display: block;napisany inline pochodzący z jquery. nie mogę tego sprawdzić za pomocą Twojej metody. Pomóż mi.
$("element").filter(function() { return $(this).css("display") == "none" });
style="display: none;". Odpowiedzi przy użyciu :visiblei :hiddenzakończą się niepowodzeniem, jeśli chcesz widoczność określonego elementu, a element nadrzędny jest ukryty, ponieważ selektory zwracają ogólną widoczność na stronie (co nie było pytaniem).
visibility: 'hidden';$(this).css('visibility') != 'hidden'
W jQuery istnieją dwie metody sprawdzania widoczności:
$("#selector").is(":visible")
i
$("#selector").is(":hidden")
Możesz także wykonywać polecenia na podstawie widoczności w selektorze;
$("#selector:visible").hide()
lub
$("#selector:hidden").show()
:visiblezależy to również od widoczności przodka nadrzędnego. Jeśli przodek jest display: nonepotomkiem, potomkowie nie będą widoczni bez względu na displaystan.
$('#selector').is(':visible');
:visiblezależy to również od widoczności przodka nadrzędnego. Jeśli przodek jest display: nonepotomkiem, potomkowie nie będą widoczni bez względu na displaystan.