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

Как проверить элемент в DOM с помощью jQuery?

Как правило, в JavaScript я делаю что-то вроде ниже, чтобы проверить, существует ли элемент:

if (document.getElementById('lblUpdateStatus')) {
    $("#lblUpdateStatus").text("");
}

Но, используя jQuery - как я могу сделать то же самое?

4b9b3361

Ответ 1

Метод get возвращает согласованные элементы DOM:

if($("#lblUpdateStatus").get(0)){
    $("#lblUpdateStatus").click(function () { ... });
}

но я не уверен, что это быстрый метод.

Ответ 2

$ возвращает массив совпадающих элементов, поэтому проверьте свойство length, и вы хорошо пойдете

if ($('#lblUpdateStatus').length) {
    $("#lblUpdateStatus").text("");
}

Ответ 3

Дело в том, что jQuery выполнит только запрошенное действие, если элемент существует:-), поэтому вам нужно только:

$("#lblUpdateStatus").text("");

Ответ 4

Я не вижу причины использовать jQuery только ради этого. $('#lblUpdateStatus') будет в основном идти прямо к document.getElementById('lblUpdateStatus'), так как селектор имеет в нем якорь, поэтому вы на самом деле ничего не получаете. Кроме того, для проверки только того, существует ли объект DOM, его перенос в объект jQuery будет создавать довольно много накладных расходов.

С другой стороны, если просто изменить текстовое свойство объекта - это то, что вы хотите сделать, вам не нужно проверять его существование, если вы используете jQuery.

if (document.getElementById('lblUpdateStatus')) {
    $("#lblUpdateStatus").text("");
}

будет делать то же самое, что иметь только

$("#lblUpdateStatus").text("");

Ответ 5

Начиная с jQuery 1.4, вы можете использовать $.contains().

var test = $("<div>");
$.contains(window.document, test[0]);  // false

$("body").append(test);
$.contains(window.document, test[0]);  // true

Ответ 6

Я написал сообщение об этом на мой блог

if ( $('#element_id').length > 0 )
   console.log('the element with element_id exists in the DOM');

Ответ 7

Если HTML-строку можно передать в $(), вы можете использовать parent.length:

$('<div>').length // 1, but it not exist on page

но

$('<div>').parent().length // 0