Policz elementy za pomocą jQuery

112

Czy istnieje sposób, aby policzyć, ile elementów na stronie z określoną klasą?

Święty
źródło

Odpowiedzi:

229
$('.someclass').length

Możesz również użyć:

$('.someclass').size()

który jest funkcjonalnie równoważny, ale ten pierwszy jest preferowany . W rzeczywistości ta ostatnia jest obecnie przestarzała i nie powinna być używana w żadnym nowym rozwoju.

David
źródło
Nie lokalizuję go, ale ostatnio przeczytałem w Meta „Jak głosujesz za?” i był cytat Jeffa Atwooda: „Zawsze, gdy szukam problemu i znajduję odpowiedź”. Moja dokładna sytuacja.
brasofilo
13
Zwróć uwagę, że .size()metoda jest przestarzała.
Moshe Simantov
1
w wersji 3.1.1 długość zwraca niezdefiniowaną
Giovanni Bitliner
1
@TylerLazenby: Jesteś tego pewien? jsfiddle.net/xpvt214o/154885 Czy masz przykład, aby zademonstrować swoje roszczenie?
David
1
@TylerLazenby: Kod w Twoim pytaniu nie używa jQuery. Otrzymujesz tylko długość literału ciągu.
David
8

Tak jest.

$('.MyClass').size()
gddc
źródło
1
Długość $ ('. MyClass'). Jest nieco lepsza, ponieważ nie ma narzutu wywołań metod. W przeciwnym razie te dwa są dokładnie takie same.
EvilAmarant7x
8

Wierzę, że to działa:

$(".MyClass").length 
IronicMuffin
źródło
7

Spróbuj tego:

var count_element = $('.element').length
Naftali alias Neal
źródło
4
$('.class').length

Ten dla mnie nie działa. Wolałbym użyć tego:

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

Naprawdę nie wiem dlaczego, ale ten drugi działa tylko dla mnie. W pewnym sensie żaden rozmiar nie działa.

Pocałuj Koppány
źródło
3

Najlepszym sposobem byłoby użycie .each ()

var num = 0;

$('.className').each(function(){
    num++;
});
Panomosh
źródło
2
„Metoda .each () została zaprojektowana tak, aby konstrukcje pętli DOM były zwięzłe i mniej podatne na błędy”
Panomosh,
2

użyj .size()metody lub .lengthatrybutu

neebz
źródło