Zählen Sie Elemente mit jQuery

112

Gibt es eine Möglichkeit zu zählen, wie viele Elemente auf der Seite eine bestimmte Klasse hat?

Santa
quelle

Antworten:

229
$('.someclass').length

Sie könnten auch verwenden:

$('.someclass').size()

das ist funktional äquivalent, aber das erstere wird bevorzugt . Letzteres ist mittlerweile veraltet und sollte in keiner neuen Entwicklung verwendet werden.

David
quelle
Ich finde es nicht, aber ich habe kürzlich auf Meta gelesen: "Wie stimmen Sie ab?" und es gab ein Zitat von Jeff Atwood: "Wann immer ich nach einem Problem suche und die Antwort finde." Meine genaue Situation.
Brasofilo
13
Beachten Sie, dass die .size()Methode veraltet ist.
Moshe Simantov
1
mit Version 3.1.1 gibt Länge undefiniert zurück
Giovanni Bitliner
1
@ TylerLazenby: Bist du dir da sicher? jsfiddle.net/xpvt214o/154885 Haben Sie ein Beispiel, um Ihren Anspruch zu demonstrieren?
David
1
@ TylerLazenby: Der Code in Ihrer Frage verwendet jQuery nicht. Sie erhalten nur die Länge eines String-Literals.
David
8

Ja da ist.

$('.MyClass').size()
gddc
quelle
1
Die Länge von $ ('. MyClass'). Ist etwas besser, da kein Aufwand für Methodenaufrufe entsteht. Ansonsten sind die beiden genau gleich.
EvilAmarant7x
8

Ich glaube das funktioniert:

$(".MyClass").length 
IronicMuffin
quelle
7

Versuche dies:

var count_element = $('.element').length
Naftali alias Neal
quelle
4
$('.class').length

Dieser funktioniert bei mir nicht. Ich würde das lieber benutzen:

$('.class').children().length

Ich weiß nicht genau warum, aber der zweite funktioniert nur für mich. Irgendwie funktioniert jede Größe nicht.

Kuss Koppány
quelle
3

Der beste Weg wäre, .each () zu verwenden

var num = 0;

$('.className').each(function(){
    num++;
});
Panomosh
quelle
2
"Die .each () -Methode wurde entwickelt, um DOM-Schleifenkonstrukte
präzise
2

Verwenden Sie die .size()Methode oder das .lengthAttribut

neebz
quelle