Compter les éléments avec jQuery


112

Existe-t-il un moyen de compter le nombre d'éléments sur la page avec une classe particulière?

Réponses:


229
$('.someclass').length

Vous pouvez également utiliser:

$('.someclass').size()

qui est fonctionnellement équivalent, mais le premier est préféré . En fait, ce dernier est désormais obsolète et ne devrait plus être utilisé dans aucun nouveau développement.


Je ne le trouve pas, mais j'ai lu récemment sur Meta "Comment faites-vous un vote favorable?" , et il y avait une citation de Jeff Atwood "Chaque fois que je recherche un problème et trouve la réponse." Ma situation exacte.
brasofilo

13
Notez que cette .size()méthode est obsolète.
Moshe Simantov

1
avec la version 3.1.1, la longueur renvoie undefined
Giovanni Bitliner

1
@TylerLazenby: Vous en êtes sûr? jsfiddle.net/xpvt214o/154885 Avez-vous un exemple pour démontrer votre réclamation?
David

1
@TylerLazenby: Le code de votre question n'utilise pas jQuery. Vous obtenez juste la longueur d'une chaîne littérale.
David


8

Oui il y a.

$('.MyClass').size()

1
$ ('. MyClass'). Length est légèrement meilleure, car il n'y a pas de surcharge d'appel de méthode. Sinon, les deux sont exactement les mêmes.
EvilAmarant7x



4
$('.class').length

Celui-ci ne fonctionne pas pour moi. Je préfère utiliser ceci:

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

Je ne sais pas vraiment pourquoi, mais le second ne fonctionne que pour moi. Quelque part, aucune taille ne fonctionne.


3

Le meilleur moyen serait d'utiliser .each ()

var num = 0;

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

2
"La méthode .each () est conçue pour rendre les constructions de boucle DOM concises et moins sujettes aux erreurs"
Panomosh

2

utiliser la .size()méthode ou l' .lengthattribut

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.