jQuery: Посмотрите, какому количеству элементов селектор соответствовал?

Если у меня есть селектор как

$.('.active');

Как я могу видеть, сколько объектов, которые соответствовали?

С другой стороны, существует ли простой способ видеть, были ли больше, чем нулевые элементы подобраны?

23
задан Nick Heiner 15 May 2010 в 01:19
поделиться

4 ответа

call .length для возвращенного набора.

Не используйте .size , потому что:

Метод .size () устарел в jQuery 1.8

33
ответ дан 29 November 2019 в 01:35
поделиться

Вы можете использовать собственное свойство javascript length :

alert( $(".active").length );

Вы даже можете использовать возвращаемое значение .length непосредственно в условном операторе:

if( $(".active").length ) {
  alert("Found some");  
} else {
  alert("Found nothing"); 
}​

В этом примере, если 0 результатов, будет выполнен оператор else.

Пример: http://jsbin.com/upabu/edit

3
ответ дан 29 November 2019 в 01:35
поделиться

Сколько:

var count = $('.active').length;

Проверить, соответствует ли что-то:

if ($('.active').length) // since 0 == false
12
ответ дан 29 November 2019 в 01:35
поделиться

вы должны использовать $('.class').length, потому что это быстрее, но в качестве альтернативы вы можете вызвать $('.class').size() и получить тот же результат.

Чтобы проверить элементы, сделайте что-то вроде следующего:

var len = $('.class').length;
if (len)
    // do something
else
    // do something else

Кэширование длины в локальном var - это оптимизация, которая ускорит ваш JS, если вам придется сделать еще одно обращение к этому свойству длины.

2
ответ дан 29 November 2019 в 01:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: