Contar elementos con jQuery


112

¿Hay alguna forma de contar cuántos elementos en la página con una clase en particular?

Respuestas:


229
$('.someclass').length

También puedes usar:

$('.someclass').size()

que es funcionalmente equivalente, pero se prefiere el primero . De hecho, este último ahora está en desuso y no debería usarse en ningún desarrollo nuevo.


No lo estoy localizando, pero leí en Meta recientemente "¿Cómo votas a favor?" , y había una cita de Jeff Atwood "Siempre que busco un problema y encuentro la respuesta". Mi situación exacta.
brasofilo

13
Tenga en cuenta que el .size()método está obsoleto.
Moshe Simantov

1
con la versión 3.1.1, la longitud devuelve indefinida
Giovanni Bitliner

1
@TylerLazenby: ¿Estás seguro de eso? jsfiddle.net/xpvt214o/154885 ¿Tiene un ejemplo para demostrar su afirmación?
David

1
@TylerLazenby: El código de su pregunta no usa jQuery. Solo obtienes la longitud de una cadena literal.
David


8

Sí hay.

$('.MyClass').size()

1
$ ('. MyClass'). Length es ligeramente mejor, ya que no hay sobrecarga de llamadas a métodos. De lo contrario, los dos son exactamente iguales.
EvilAmarant7x



4
$('.class').length

Este no me funciona. Prefiero usar esto:

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

Realmente no sé la razón, pero el segundo funciona solo para mí. De alguna manera, ninguno de los tamaños funciona.


3

La mejor manera sería usar .each ()

var num = 0;

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

2
"El método .each () está diseñado para hacer construcciones de bucle DOM concisas y menos propensas a errores"
Panomosh

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.