Определение, не нашел ли jQuery элемента

Я использую селекторы jQuery, особенно идентификационный селектор:

$("#elementId")...

Как я должен определить, нашел ли jQuery элемент или нет? Даже если элемент с указанным идентификатором не существует, следующий оператор дает мне: [object Object]

alert($("#idThatDoesnotexist"));
118
задан Bardock 20 May 2010 в 20:50
поделиться

2 ответа

$ ('# idThatDoesnotexist'). Length - это то, что вы ищете. (Если ничего не найдено, это будет === 0 .) Таким образом, ваш условный оператор, вероятно, должен быть таким:

if($('#id').length) { /* code if found */ } else { /* code if not found */ }

Вы получаете объект, возвращенный из этого предупреждения, потому что jQuery (почти) всегда возвращает " jQuery object ", когда вы его используете, который является оболочкой для найденных jQuery элементов, которая разрешает цепочку методов.

181
ответ дан 24 November 2019 в 01:57
поделиться

Futuraprime прав, но вы можете сократить синтаксис, выполнив следующие действия:

if ($("#id").length) {
   //at least one element was found
} else {
   //no elements found
}
26
ответ дан 24 November 2019 в 01:57
поделиться
Другие вопросы по тегам:

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