Проверить, существует ли элемент в 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
}