Ich möchte versteckte Elemente überprüfen und sortieren. Ist es möglich, alle Elemente mit Attribut displayund Wert zu finden none?
Ich möchte versteckte Elemente überprüfen und sortieren. Ist es möglich, alle Elemente mit Attribut displayund Wert zu finden none?
Antworten:
Sie können verwenden : sichtbar für sichtbare Elemente und : versteckt , um versteckte Elemente herauszufinden. Für diese versteckten Elemente ist das displayAttribut festgelegt none.
hiddenElements = $(':hidden');
visibleElements = $(':visible');
Um ein bestimmtes Element zu überprüfen.
if($('#yourID:visible').length == 0)
{
}
Elemente gelten als sichtbar, wenn sie Speicherplatz im Dokument belegen. Sichtbare Elemente haben eine Breite oder Höhe , die größer als Null ist, Referenz
Sie können auch is () mit verwenden:visible
if(!$('#yourID').is(':visible'))
{
}
Wenn Sie den Wert der Anzeige überprüfen möchten, können Sie css () verwenden.
if($('#yourID').css('display') == 'none')
{
}
Wenn Sie die Anzeige verwenden, können die folgenden Werte displayvorliegen.
Anzeige: keine
Anzeige: Inline
Bildschirmsperre
Anzeige: Listenelement
Anzeige: Inline-Block
Überprüfen vollständige Liste der möglichen displayWerte hier .
So überprüfen Sie die Anzeigeeigenschaft mit JavaScript
var isVisible = document.getElementById("yourID").style.display == "block";
var isHidden = document.getElementById("yourID").style.display == "none";
display: block;inline geschrieben von jquery geschrieben. Ich kann es nicht mit Ihrer Methode überprüfen. Hilf mir.
$("element").filter(function() { return $(this).css("display") == "none" });
style="display: none;". Antworten mit :visibleund :hiddenschlagen fehl, wenn Sie eine bestimmte Elementsichtbarkeit wünschen und ein übergeordnetes Element ausgeblendet ist, da diese Selektoren die allgemeine Sichtbarkeit auf der Seite zurückgeben (was nicht die gestellte Frage war).
visibility: 'hidden';in CSS eingestellt, so dass die Überprüfung auch $(this).css('visibility') != 'hidden'
In jQuery gibt es zwei Methoden, um die Sichtbarkeit zu überprüfen:
$("#selector").is(":visible")
und
$("#selector").is(":hidden")
Sie können Befehle auch basierend auf der Sichtbarkeit im Selektor ausführen.
$("#selector:visible").hide()
oder
$("#selector:hidden").show()
:visibleauch von der Sichtbarkeit der übergeordneten Vorfahren abhängt. Wenn ein Vorfahr display: nonealle Nachkommen sind, sind sie unabhängig vom displayStatus nicht sichtbar .
$('#selector').is(':visible');
:visibleauch von der Sichtbarkeit der übergeordneten Vorfahren abhängt. Wenn ein Vorfahr display: nonealle Nachkommen sind, sind sie unabhängig vom displayStatus nicht sichtbar .