Подтвердить что ты не робот

JQuery: что возвращается, если $('# id') ничего не соответствует?

Что возвращается, если $('# id') ничего не соответствует? Я решил, что это будет null или false или что-то подобное, поэтому я попытался проверить так:

var item = $('#item');
if (!item){
    ...
}

Но это не сработало.

4b9b3361

Ответ 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(). Поэтому вы также можете запросить:

$( "селектор" ). Размер()

чтобы увидеть, сколько элементов согласовано.