JQuery - как проверить, существует ли элемент? - PullRequest
50 голосов
/ 14 марта 2011

Я знаю, что вы можете проверить на width() или height(), но что если свойство display элемента установлено в none? Какое еще значение нужно проверить, чтобы убедиться, что элемент существует?

Ответы [ 7 ]

148 голосов
/ 14 марта 2011

Вы можете использовать length , чтобы увидеть, соответствует ли ваш селектор чему-либо.

if ($('#MyId').length) {
    // do your stuff
}
15 голосов
/ 14 марта 2011

Предположим, вы пытаетесь найти, существует ли div

$('div').length ? alert('div found') : alert('Div not found')

Проверьте рабочий пример на http://jsfiddle.net/Qr86J/1/

2 голосов
/ 04 мая 2014
if ($("#MyId").length) { ... write some code here ...}

Эта команда автоматически проверяет наличие элемента и возвращает true, если элемент существует.

2 голосов
/ 14 марта 2011

jQuery должен уметь находить даже скрытые элементы.Он также имеет селекторы :visible и :hidden для поиска как видимых, так и скрытых элементов.

Помогает ли это?Не уверен без дополнительной информации.

2 голосов
/ 14 марта 2011

Вы можете использовать видимый селектор:

http://api.jquery.com/visible-selector/

0 голосов
/ 27 октября 2015

В основном я предпочитаю использовать этот синтаксис:

if ($('#MyId')!= null) {
    // dostuff
}

Даже если этот код не прокомментирован, функциональность очевидна.

0 голосов
/ 15 января 2015

Я использую это:

if ($('.div1').size() || $('.div2').size()) {
    console.log('ok');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...