Подсчет элементов с помощью 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()

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



4
$('.class').length

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

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

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


3

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

var num = 0;

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.