Подсчет элементов с помощью jQuery

112

Есть ли способ подсчитать, сколько элементов на странице с определенным классом?

Санта
источник

Ответы:

229
$('.someclass').length

Вы также можете использовать:

$('.someclass').size()

который функционально эквивалентен, но предпочтительнее первое . Фактически, последний теперь устарел и не должен использоваться в каких-либо новых разработках.

Дэвид
источник
Я не нахожу его, но недавно прочитал на Meta "Как вы голосуете?" , и была цитата Джеффа Этвуда: «Всякий раз, когда я исследую проблему и нахожу ответ». Моя точная ситуация.
brasofilo
13
Обратите внимание, что этот .size()метод устарел.
Моше Симантов
1
с версией 3.1.1 длина не определена
Джованни Битлинер
1
@TylerLazenby: Ты уверен в этом? jsfiddle.net/xpvt214o/154885 У вас есть пример, подтверждающий ваше утверждение?
Дэвид
1
@TylerLazenby: Код в вашем вопросе не использует jQuery. Вы просто получаете длину строкового литерала.
Дэвид
20
var count_elements = $('.class').length;

От: http://api.jquery.com/size/

Метод .size () функционально эквивалентен свойству .length; тем не менее, свойство .length является предпочтительным, потому что оно не имеет накладных расходов, связанных с вызовом функции.

Посмотри пожалуйста:

http://api.jquery.com/size/

http://api.jquery.com/length/

Дэвид Хоуд
источник
8

Да, есть.

$('.MyClass').size()
gddc
источник
1
$ ('. MyClass'). Length немного лучше, так как нет накладных расходов на вызов метода. В остальном это одно и то же.
EvilAmarant7x
8

Я считаю, что это работает:

$(".MyClass").length 
Иронический маффин
источник
7

попробуй это:

var count_element = $('.element').length
Нафтали он же Нил
источник
4
$('.class').length

Этот у меня не работает. Я бы предпочел использовать это:

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

Не знаю, почему, но второй работает только у меня. Почему-то оба размера не подходят.

Поцелуй Коппани
источник
3

Лучшим способом было бы использовать .each ()

var num = 0;

$('.className').each(function(){
    num++;
});
Паномошь
источник
2
«Метод .each () разработан для того, чтобы сделать конструкции цикла DOM краткими и менее подверженными ошибкам»
Паномош
2

использовать .size()метод или .lengthатрибут

Neebz
источник