Contare gli elementi con jQuery


112

C'è un modo per contare quanti elementi sulla pagina con una particolare classe?

Risposte:


229
$('.someclass').length

Potresti anche usare:

$('.someclass').size()

che è funzionalmente equivalente, ma il primo è preferito . In effetti, quest'ultimo è ora deprecato e non dovrebbe essere utilizzato in nessun nuovo sviluppo.


Non lo sto localizzando, ma recentemente ho letto su Meta "Come si vota?" e c'era una citazione di Jeff Atwood "Ogni volta che cerco un problema e trovo la risposta". La mia situazione esatta.
brasofilo

13
Si noti che il .size()metodo è deprecato.
Moshe Simantov

1
con la versione 3.1.1, la lunghezza restituisce indefinita
Giovanni Bitliner

1
@TylerLazenby: Ne sei sicuro? jsfiddle.net/xpvt214o/154885 Hai un esempio per dimostrare la tua affermazione?
David

1
@TylerLazenby: il codice nella tua domanda non utilizza jQuery. Stai solo ottenendo la lunghezza di una stringa letterale.
David


8

Si C'è.

$('.MyClass').size()

1
La lunghezza di $ ('. MyClass'). È leggermente migliore, poiché non ci sono overhead per le chiamate di metodo. Altrimenti i due sono esattamente gli stessi.
EvilAmarant7x



4
$('.class').length

Questo non funziona per me. Preferisco usare questo:

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

Non so davvero il motivo, ma il secondo funziona solo per me. Per qualche ragione, nessuna delle due dimensioni funziona.


3

Il modo migliore sarebbe usare .each ()

var num = 0;

$('.className').each(function(){
    num++;
});

2
"Il metodo .each () è progettato per rendere concisi e meno soggetti a errori i costrutti di loop DOM"
Panomosh

2

utilizzare il .size()metodo o l' .lengthattributo

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.