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

#jquery

#jquery

Вопрос:

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

Ответ №1:

 $('.someclass').length
  

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

 $('.someclass').size()
  

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

Комментарии:

1. Не могу найти это, но недавно я прочитал на Meta «Как вы оцениваете?» , и там была цитата Джеффа Этвуда «Всякий раз, когда я исследую проблему и нахожу ответ». Моя точная ситуация.

2. Обратите внимание, что .size() метод устарел.

3. в версии 3.1.1 длина возвращает значение undefined

4. @TylerLazenby: Ты уверен в этом? jsfiddle.net/xpvt214o/154885 У вас есть пример, чтобы продемонстрировать ваше утверждение?

5. @TylerLazenby: Код в вашем вопросе не использует jQuery. Вы просто получаете длину строкового литерала.

Ответ №2:

 var count_elements = $('.class').length;
  

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

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

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

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

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

Ответ №3:

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

 $(".MyClass").length 
  

Ответ №4:

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

 var count_element = $('.element').length
  

Ответ №5:

 $('.class').length
  

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

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

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

Ответ №6:

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

 var num = 0;

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

Комментарии:

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

Ответ №7:

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

Комментарии:

1. .функция size() устарела