Ответ 1
Это должно работать для всех элементов независимо от того, когда они сгенерированы.
if($('some_element').length == 0) {
}
напишите свой код в функциях обратного вызова ajax, и он должен работать нормально.
Я пытаюсь добавить некоторые элементы формы динамически через Ajax с помощью jQuery. Я хочу убедиться, что я не создаю один и тот же элемент дважды, поэтому хочу добавить его только в том случае, если он еще не добавлен в DOM.
Все мои элементы имеют уникальный идентификатор CSS, например:
$('#data_1')
Я использую следующее, чтобы проверить, существует ли элемент:
if ($('some_element').length == 0) {
//Add it to the dom
}
Однако он работает только для элементов, которые уже были частью страницы при первой загрузке.
Как также проверить элементы, которые были динамически созданы после загрузки страницы?
Любые советы приветствуются.
Спасибо.
Это должно работать для всех элементов независимо от того, когда они сгенерированы.
if($('some_element').length == 0) {
}
напишите свой код в функциях обратного вызова ajax, и он должен работать нормально.
Просто чтобы подтвердить, что вы правильно выбираете элемент. Попробуйте этот
if ($('#some_element').length == 0) {
//Add it to the dom
}
Угадайте, что вы забыли добавить этот предмет в DOM.
Отметьте ЗДЕСЬ.
если доступно ID
- вы можете использовать getElementById()
var element = document.getElementById('elementId');
if (typeof(element) != 'undefined' && element != null)
{
// exists.
}
ИЛИ Попробуйте с JQuery -
if ($(document).find(yourElement).length == 0)
{
// -- Not Exist
}
(()=> {
var elem = document.querySelector('.elem');
(
(elem) ?
console.log(elem+' was found.') :
console.log('not found')
)
})();
Если он существует, он выплескивает указанный элемент как объект DOM. С помощью JQuery $('.elem')
он сообщает вам, что это объект, если он найден, но не тот.
В этом случае вы можете проверить, существует ли элемент в текущей DOM
если вы хотите проверить, существует ли элемент в дереве DOM (прикреплен к DOM), вы можете использовать:
var data = $('#data_1');
if(jQuery.contains(document.documentElement, data[0])){
// #data_1 element attached to DOM
} else {
// is not attached to DOM
}
if ($('#some_element').length === 0) {
//If exists then do manipulations
}
Нет, чтобы сравнить что-либо, вы можете просто проверить, что этим...,.
if(document.getElementById("url")){ alert('exit');}
if($("#url")){alert('exist');}
вы также можете использовать функцию html(), а также
if($("#url).html()){alert('exist');}
Этот вопрос касается того, существует ли элемент, и все ответы проверяются, если он не существует:) Незначительная разница, но стоит упомянуть.
На основе документации jQuery рекомендуемый способ проверить наличие
if ($( "#myDiv" ).length) {
// element exists
}
Если вы хотите проверить отсутствующий элемент, вы можете использовать:
if (!$( "#myDiv" ).length) {
// element doesn't exist
}
или
if (0 === $( "#myDiv" ).length) {
// element doesn't exist
}
Обратите внимание, что во втором варианте я использовал ===, который немного быстрее, чем ==, и положил 0 слева как Yoda состояние.