Проверить, существует ли элемент в jQuery

Как проверить, существует ли элемент, если элемент создан методом .append()? $('elemId').length не работает для меня.

Ответ 1

$('elemId').length не работает для я.

Вам нужно поставить # перед идентификатором элемента:

$('#elemId').length
---^

С ванильным JavaScript вам не нужен хеш (#), например. document.getElementById('id_here'), однако при использовании jQuery вам нужно поставить хеш для таргетинга элементов на основе id точно так же, как CSS.

Ответ 2

Попробуйте проверить длину селектора, если он возвращает вам что-то, тогда элемент должен существовать иначе.

 if( $('#selector').length )         // use this if you are using id to check
{
     // it exists
}


 if( $('.selector').length )         // use this if you are using class to check
{
     // it exists
}

Ответ 3

Попробуйте следующее:

if ($("#mydiv").length > 0){
  // do something here
}

Свойство length будет возвращать ноль, если элемент не существует.

Ответ 4

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

if ($("#mydiv").length){  }

Если это 0, он будет оценивать false, что-то большее, чем true.

Нет необходимости в более чем, чем сравнение.

Ответ 5

ваш elemId, как следует из его названия, является атрибутом Id, это все, что вы можете сделать, чтобы проверить, существует ли он:

Ванильный JavaScript:, если у вас есть более продвинутые селекторы:

//you can use it for more advanced selectors
if(document.querySelectorAll("#elemId").length){}

if(document.querySelector("#elemId")){}

//you can use it if your selector has only an Id attribute
if(document.getElementById("elemId")){}

JQuery

if(jQuery("#elemId").length){}

Ответ 6

Вы также можете использовать запись в виде массива и проверить первый элемент. Первый элемент пустого массива или коллекции просто undefined, поэтому вы получаете нормальное поведение javascript с правдой/ложью:

var el = $('body')[0];
if (el) {
    console.log('element found', el);
}
if (!el) {
    console.log('no element found');
}

Ответ 7

Вы можете использовать собственный JS для проверки существования объекта:

if (document.getElementById('elemId') instanceof Object){
    // do something here
}

Не забывайте, что jQuery - это не что иное, как сложная (и очень полезная) оболочка вокруг собственных команд и свойств Javascript

Ответ 8

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

if( $('.exists_content').hasClass('exists_content') ){
 //element available
}