Порахуйте елементи за допомогою jQuery


112

Чи є спосіб порахувати, скільки елементів на сторінці з певним класом?

Відповіді:


229
$('.someclass').length

Ви також можете використовувати:

$('.someclass').size()

який функціонально еквівалентний, але перший є кращим . Насправді остання тепер застаріла і не повинна використовуватися в будь-якій новій розробці.


Я не знаходжу це, але нещодавно я прочитав на Meta "Як ви звертаєтесь?" , і була цитата Джеффа Етвуда "Кожен раз, коли я досліджую проблему і знаходжу відповідь". Моя точна ситуація.
brasofilo

13
Зауважте, що .size()метод застарілий.
Моше Сімантов

1
з версією 3.1.1, довжина повертається невизначена
Джованні Бітлінер

1
@TylerLazenby: Ви впевнені в цьому? jsfiddle.net/xpvt214o/154885 Чи є у вас приклад для демонстрації вашої претензії?
Девід

1
@TylerLazenby: Код у вашому запитанні не використовує jQuery. Ви просто отримуєте довжину літерального рядка.
Девід


8

Так, є.

$('.MyClass').size()

1
$ ('. MyClass'). Довжина трохи краща, оскільки немає методу виклику методу. Інакше ці два точно.
EvilAmarant7x



4
$('.class').length

Цей для мене не працює. Я б скоріше скористався цим:

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

Я насправді не знаю причини, але друга працює лише для мене. Дещо, будь-який розмір не працює.


3

Найкращим способом було б використання .each ()

var num = 0;

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

2
"Метод .each () розроблений для того, щоб зробити циклічні конструкції DOM стислі та менш схильні до помилок"
Panomosh

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.