.lengthGibt an, wie viele Übereinstimmungen der Selektor gefunden hat. Dies zählt also, wie viele <li>unter <ul>Elementen Sie haben. Wenn Unterkinder vorhanden sind, verwenden Sie "ul > li"stattdessen, um nur direkte Kinder zu erhalten. Wenn <ul>Ihre Seite andere Elemente enthält, ändern Sie einfach den Selektor so, dass er nur seinem entspricht, z. B. wenn er eine ID enthält, die Sie verwenden möchten "#myListID > li".
In anderen Situationen, in denen Sie den untergeordneten Typ nicht kennen, können Sie den *(Platzhalter-) Selektor verwenden oder .children()wie folgt:
var count = $(".parentSelector > *").length;
oder:
var count = $(".parentSelector").children().length;
Was ist, wenn nicht bekannt ist, dass das Kind "li" ist und alles sein könnte?
Starx
7
@ Starx:$("#parent").children().length
Rekamoyka
1
@AlecAnanian, Nein, ich weiß wie. Ich hatte gehofft, Nick würde das auch zu seiner Antwort hinzufügen.
Starx
2
@ Starx - hinzugefügt, falls es ein paar Leuten auf der Straße hilft :)
Nick Craver
Was ist, wenn das Element nicht sichtbar ist?
ʙᴀᴋᴇʀ ʙᴀᴋᴇʀ
6
Dafür benötigen Sie jQuery nicht. Sie können JavaScript verwenden .childNodes.length.
Stellen Sie einfach sicher, dass Sie 1 subtrahieren, wenn Sie den Standardtextknoten (der standardmäßig leer ist) nicht einschließen möchten. Daher würden Sie Folgendes verwenden:
Was passiert , wenn Sie diese den aktuellen Selektor zu bestimmen , werden mit ihren Kindern zu finden , so gilt dies: <ol>dann gibt es <li>s unter , wie ein Wähler schreiben
var count = $(this+"> li").length;nicht funktionieren ..
document.querySelectorAll('ul li').length
Antworten:
Sie können
.length
wie folgt verwenden:.length
Gibt an, wie viele Übereinstimmungen der Selektor gefunden hat. Dies zählt also, wie viele<li>
unter<ul>
Elementen Sie haben. Wenn Unterkinder vorhanden sind, verwenden Sie"ul > li"
stattdessen, um nur direkte Kinder zu erhalten. Wenn<ul>
Ihre Seite andere Elemente enthält, ändern Sie einfach den Selektor so, dass er nur seinem entspricht, z. B. wenn er eine ID enthält, die Sie verwenden möchten"#myListID > li"
.In anderen Situationen, in denen Sie den untergeordneten Typ nicht kennen, können Sie den
*
(Platzhalter-) Selektor verwenden oder.children()
wie folgt:oder:
quelle
$("#parent").children().length
Dafür benötigen Sie jQuery nicht. Sie können JavaScript verwenden
.childNodes.length
.Stellen Sie einfach sicher, dass Sie 1 subtrahieren, wenn Sie den Standardtextknoten (der standardmäßig leer ist) nicht einschließen möchten. Daher würden Sie Folgendes verwenden:
quelle
Versuchen Sie, Folgendes zu verwenden:
quelle
Was passiert , wenn Sie diese den aktuellen Selektor zu bestimmen , werden mit ihren Kindern zu finden , so gilt dies:
<ol>
dann gibt es<li>
s unter , wie ein Wähler schreibenvar count = $(this+"> li").length;
nicht funktionieren ..quelle
$("ol.class > li").length
Sie können dies mit jQuery tun:
Diese Methode ruft eine Liste ihrer untergeordneten Elemente ab und zählt dann die Länge dieser Liste, so einfach ist das.
Hinweis: Die child () -Methode durchläuft eine einzelne Ebene im DOM-Baum.
quelle