jQuery: Anzahl der Listenelemente zählen?

Lesezeit: 2 Minuten

Benutzer-Avatar
Tom

Ich habe eine Liste, die aus serverseitigem Code generiert wird. Bevor ich ihr mit jQuery zusätzliche Dinge hinzufüge, muss ich herausfinden, wie viele Elemente bereits darin enthalten sind.

<ul id="mylist">
    <li>Element 1</li>
    <li>Element 2</li>
</ul>

Benutzer-Avatar
Cletus

Versuchen:

$("#mylist li").length

Nur neugierig: Warum müssen Sie die Größe wissen? Kannst du nicht einfach verwenden:

$("#mylist").append("<li>New list item</li>");

?

  • Ich verwende das Anhängen, um die neuen hinzuzufügen, aber ich habe eine Begrenzung für die Anzahl der Elemente, die in der Liste enthalten sein können. In diesem Zustand kann der Benutzer immer noch bis zu maximal 4 Elemente hinzufügen, aber 2 könnten gekommen sein aus dem vorherigen Zustand. 🙂

    – Tom

    3. März 2009 um 11:18 Uhr

  • Beachten Sie, dass die jQyery-Dokumentation die Verwendung empfiehlt .length Über .size() um den Overhead eines Funktionsaufrufs zu vermeiden. api.jquery.com/size

    – Jo

    1. Dezember 2011 um 23:18 Uhr

  • size() war in jquery 1.8 veraltet und es heißt zu verwenden Länge() jetzt.

    – düster.pinguin

    6. April 2013 um 20:48 Uhr


  • @gloomy.penguin Beachten Sie das .length ist keine Funktion.

    – Hexacyanid

    23. April 2013 um 22:28 Uhr

  • Ich brauche die Anzahl

  • , um die Elementbreite im laufenden Betrieb neu zu berechnen.

    – Christo

    26. Juli 2015 um 22:52 Uhr

Benutzer-Avatar
Nick Allen

var listItems = $("#myList").children();

var count = listItems.length;

Natürlich können Sie dies mit verdichten

var count = $("#myList").children().length;

Weitere Hilfe zu jQuery finden Sie unter http://docs.jquery.com/Main_Page ist ein guter Anfang.

  • nur um sicherzugehen, tun Sie $(“#myList”).children(“li”).length; Wenn Sie der Liste aus irgendeinem Grund jemals andere Elemente hinzufügen, werden Sie diese kleine Codezeile nicht vergessen.

    – SgtPooki

    4. November 2011 um 4:38 Uhr

Sie haben das gleiche Ergebnis, wenn Sie die Methode .size() oder die Eigenschaft .length aufrufen, aber die Eigenschaft .length wird bevorzugt, da sie nicht den Overhead eines Funktionsaufrufs hat. Also der beste Weg:

$("#mylist li").length

Ich denke, das sollte es tun:

var ct = $('#mylist').children().size(); 

Benutzer-Avatar
BRÜLSTERN

und natürlich folgendes:

var count = $("#myList").children().length;

kann zusammengefasst werden zu: (durch Entfernen des ‘var’, das zum Setzen einer Variablen nicht erforderlich ist)

count = $("#myList").children().length;

aber das ist sauberer:

count = $("#mylist li").size();

  • Zählt diese Methode nicht auch Li-Tags innerhalb von untergeordneten ul-Elementen der obersten ul?

    – atripes

    25. November 2011 um 10:09 Uhr


  • Zu sagen “‘var’ ist nicht notwendig, um eine Variable zu setzen” ist zu einfach. Wenn Sie ‘var’ nicht verwenden, werden alle Ihre Variablen global. Siehe stackoverflow.com/questions/1470488/…

    – Rafael Almeida

    29. August 2012 um 17:46 Uhr

Benutzer-Avatar
Nui_CpE

Versuchen

$("#mylist").children().length

  • Zählt diese Methode nicht auch Li-Tags innerhalb von untergeordneten ul-Elementen der obersten ul?

    – atripes

    25. November 2011 um 10:09 Uhr


  • Zu sagen “‘var’ ist nicht notwendig, um eine Variable zu setzen” ist zu einfach. Wenn Sie ‘var’ nicht verwenden, werden alle Ihre Variablen global. Siehe stackoverflow.com/questions/1470488/…

    – Rafael Almeida

    29. August 2012 um 17:46 Uhr

Benutzer-Avatar
M.Ganji

Anzahl der Listenelemente zählen

alert($("#mylist > li").length);

1312320cookie-checkjQuery: Anzahl der Listenelemente zählen?

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

Privacy policy