Ответ 1
Вы можете найти, сколько элементов было сопоставлено с помощью:
$('selector').length
Чтобы проверить, не были ли сопоставлены никакие элементы, используйте:
var item = $('#item');
if (item.length == 0) {
// ...
}
Что возвращается, если $('# id') ничего не соответствует? Я решил, что это будет null или false или что-то подобное, поэтому я попытался проверить так:
var item = $('#item');
if (!item){
...
}
Но это не сработало.
Вы можете найти, сколько элементов было сопоставлено с помощью:
$('selector').length
Чтобы проверить, не были ли сопоставлены никакие элементы, используйте:
var item = $('#item');
if (item.length == 0) {
// ...
}
В то время как $('selector').length
отлично подходит для определения количества объектов, выбранных вашим селектором, на самом деле совершенно ненужно. Дело в jQuery заключается в том, что все функции на основе селектора используют внутреннюю длину, поэтому вы можете просто сделать $(selector).hide()
(или что-то еще) и не предпринимать никаких действий для пустого набора.
Объект jQuery, который не содержит узлов DOM.
Вы должны иметь возможность использовать
var item = $('#item');
if (!item[0]){
...
}
для проверки существования.
Алиасом атрибута length является метод size(). Поэтому вы также можете запросить:
$( "селектор" ). Размер()
чтобы увидеть, сколько элементов согласовано.