Если у меня есть селектор как
$.('.active');
Как я могу видеть, сколько объектов, которые соответствовали?
С другой стороны, существует ли простой способ видеть, были ли больше, чем нулевые элементы подобраны?
call .length
для возвращенного набора.
Не используйте .size
, потому что:
Метод .size () устарел в jQuery 1.8
Вы можете использовать собственное свойство javascript length
:
alert( $(".active").length );
Вы даже можете использовать возвращаемое значение .length
непосредственно в условном операторе:
if( $(".active").length ) {
alert("Found some");
} else {
alert("Found nothing");
}
В этом примере, если 0 результатов, будет выполнен оператор else.
Пример: http://jsbin.com/upabu/edit
Сколько:
var count = $('.active').length;
Проверить, соответствует ли что-то:
if ($('.active').length) // since 0 == false
вы должны использовать $('.class').length
, потому что это быстрее, но в качестве альтернативы вы можете вызвать $('.class').size()
и получить тот же результат.
Чтобы проверить элементы, сделайте что-то вроде следующего:
var len = $('.class').length;
if (len)
// do something
else
// do something else
Кэширование длины в локальном var - это оптимизация, которая ускорит ваш JS, если вам придется сделать еще одно обращение к этому свойству длины.