jQuery-как проверить, существует ли элемент?

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

7 ответов


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

if ($('#MyId').length) {
    // do your stuff
}

предполагая, что вы пытаетесь найти, существует ли div

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

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


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

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


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

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


if ($("#MyId").length) { ... write some code here ...}

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


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

if ($('.div1').size() || $('.div2').size()) {
    console.log('ok');
}

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

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

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