Есть ли способ подсчитать, сколько элементов на странице с определенным классом?
Подсчет элементов с помощью jQuery
Ответы (8)
$('.someclass').length
Вы также можете использовать:
$('.someclass').size()
который функционально эквивалентен, но предпочтительнее первый. На самом деле, последний теперь устарел и не должен использоваться ни в каких новых разработках.
person
David
schedule
18.04.2011
Я не нахожу его, но я недавно прочитал на Meta Как вы голосуете?, и там была цитата Джеффа Этвуда Всякий раз, когда я ищу проблему и нахожу ответ. Мой точная ситуация.
- person brasofilo; 12.09.2013
Обратите внимание, что метод
.size()
устарел.
- person Moshe Simantov; 22.01.2014
с версией 3.1.1 длина возвращает значение undefined
- person Giovanni Bitliner; 26.11.2016
@GiovanniBitliner: Ты уверен в этом? jsfiddle.net/gwj3v3ca Я был бы очень удивлен, если бы jQuery внес изменение, в котором селектор jQuery больше не вернул массив. Это было бы очень серьезным изменением.
- person David; 26.11.2016
Кажется, это подсчитывает длину символов в элементе, а не количество элементов, имеющих этот класс.
- person Tyler Lazenby; 18.04.2018
@TylerLazenby: Ты уверен в этом? jsfiddle.net/xpvt214o/154885 У вас есть пример, подтверждающий ваше утверждение?
- person David; 18.04.2018
Да, у меня есть вопрос, который показывает код: stackoverflow.com/questions /49907661/ И это происходит на веб-сайте madewithloveandsarcasm.com
- person Tyler Lazenby; 18.04.2018
@TylerLazenby: код в вашем вопросе не использует jQuery. Вы просто получаете длину строкового литерала.
- person David; 18.04.2018
Если элемент существует: (#id).length › 0
- person Mojtaba Nava; 03.09.2019
var count_elements = $('.class').length;
Откуда: http://api.jquery.com/size/
Метод .size() функционально эквивалентен свойству .length; однако свойство .length предпочтительнее, поскольку оно не требует дополнительных затрат на вызов функции.
Пожалуйста, посмотри:
person
David Houde
schedule
18.04.2011
Да, есть.
$('.MyClass').size()
person
g.d.d.c
schedule
18.04.2011
$('.MyClass').length немного лучше, так как нет накладных расходов на вызов метода. В остальном они абсолютно одинаковы.
- person EvilAmarant7x; 18.04.2011
Я считаю, что это работает:
$(".MyClass").length
person
IronicMuffin
schedule
18.04.2011
попробуй это:
var count_element = $('.element').length
person
Naftali aka Neal
schedule
18.04.2011
$('.class').length
Этот не работает для меня. Я бы предпочел использовать это:
$('.class').children().length
Я действительно не знаю, почему, но второй работает только для меня. Почему-то ни один размер не работает.
person
Kiss Koppány
schedule
29.03.2014
Лучше всего использовать .each().
var num = 0;
$('.className').each(function(){
num++;
});
person
Panomosh
schedule
23.03.2015
Метод .each() предназначен для того, чтобы сделать конструкции циклов DOM краткими и менее подверженными ошибкам.
- person Panomosh; 26.01.2017
используйте метод .size()
или атрибут .length
person
neebz
schedule
18.04.2011
.size() устарел
- person Amine ABBAOUI; 17.06.2021