Zählen sichtbarer divs mit dem Klassennamen jquery

Lesezeit: 2 Minuten

Benutzeravatar von ravi.panch
ravi.panch

Ich habe Probleme bei der Verwendung von :visible mit Klassenname.

Beispiel:

<div class="groupedDiv" id="group1">
    <div class="level1">
        Apples
        <div class="level2"> || L2-apple </div>
    </div>

    <div class="level1" style="display:none;">
        Oranges 
        <div class="level2"> || [L2-orange] </div>
    </div>
</div>

<br/>

<div class="groupedDiv" id="group1">
    <div class="level1">
        Roses
        <div class="level2"> || L2-rose </div>
        <div class="level3"> l3 rose </div>
    </div>
</div>

Wenn ich die Anzahl der sichtbaren Divs der Klasse zählen möchte level1

$(".level1 :visible").length; gibt mir Ausgang 3, soll das nicht 2 ausgeben?

$(".level1 :visible").parent().length; gibt mir Ausgabe 2, die korrekt ist.

Ich habe dieses Beispiel unter erstellt http://jsfiddle.net/metalhawk/P87jS/

Alle Vorschläge sind hilfreich. Vielen Dank

$(".level1 :visible") ist ein Nachkommenselektor: Sie wählen alle sichtbaren Elemente aus, die Nachkommen von sind .level1. Dort sind drei div Elemente, die darunter sichtbar sind .level1 Elemente.

Verwenden Sie stattdessen Folgendes:

$(".level1:visible").length;

Sehen Sie Ihre Geige pro mein Update.

  • @lonesomeday, gibt es eine Möglichkeit, dies zu aktualisieren, während Divs auf der Seite ausgeblendet/angezeigt werden? Wie leben? Es funktioniert hervorragend beim Laden von Seiten, aber für eine Sortierung/Suche, bei der Divs entfernt werden, gibt es eine Möglichkeit, dies zu ändern?

    – Schlüsselbein

    4. Juni 2015 um 3:50 Uhr

  • @JamisonHill Immer wenn Sie es ausführen, wird die aktuelle Nummer angezeigt. Sie müssten den Selektor nach jeder Änderung erneut ausführen. Es mag elegantere Möglichkeiten geben, dies zu tun, aber es ist schwer zu sagen, ohne sich Ihren Code gründlich anzusehen.

    – einsamer Tag

    4. Juni 2015 um 15:20 Uhr

  • @lonesomeday – Hier ist ein jFiddle mit meinem Code. Sehr einfach, wird aber nicht mit der Suche aktualisiert: jsfiddle.net/KYjfk/10 Lass mich wissen was du denkst.

    – Schlüsselbein

    4. Juni 2015 um 18:48 Uhr

Ziemlich sicher, dass Sie tun müssen $(".level1:visible").length;

Der Raum bricht den Code

1431220cookie-checkZählen sichtbarer divs mit dem Klassennamen jquery

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy