#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 является предпочтительным, поскольку оно не требует дополнительных затрат при вызове функции.
Пожалуйста, смотрите:
Ответ №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() устарела