14

Проверка существования элемента в jQuery

11

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

В дополнение к этому, я заметил, что на StackOverflow уже есть похожий вопрос, который, кажется, имеет 17 ответов, однако все они не совсем подходят для моей ситуации. Этот вопрос был закрыт 9 лет назад. Может быть, у кого-то есть актуальные решения или рекомендации, как можно обойти эту проблему?

5 ответ(ов)

20

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

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

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

5

Вы можете проверить наличие элемента на странице, используя длину селектора. Если длина селектора возвращает что-то, значит элемент существует, в противном случае — нет. Вот пример для проверки элемента с идентификатором и классом:

if ($('#selector').length) { // используйте это, если проверяете по id
    // элемент существует
}

if ($('.selector').length) { // используйте это, если проверяете по классу
    // элемент существует
}

Таким образом, вы можете легко определить, присутствует ли элемент в DOM.

2

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

if ($("#mydiv").length > 0) {
  // выполните здесь какое-либо действие
}

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

0

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

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

Если значение length равно 0, это будет оцениваться как false, а любое значение больше нуля будет оцениваться как true.

Таким образом, нет необходимости в сравнении больше или меньше — достаточно просто проверить его значение.

0

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

Vanilla JavaScript: если у вас более сложные селекторы:

// можно использовать для более сложных селекторов
if (document.querySelectorAll("#elemId").length) {}

// также можно использовать так
if (document.querySelector("#elemId")) {}

// если ваш селектор содержит только атрибут Id
if (document.getElementById("elemId")) {}

jQuery:

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

Этот код позволит вам проверить наличие элемента с указанным Id.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь