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