Отследить появление элемента
Нужно прокидывать цель в метрику после отправки формы.
Пытаюсь привязаться к событию после того как форма отправлена, в модальном окне появляется: <div class="wpforms-confirmation-container" id="wpforms-confirmation-1113"><p>Спасибо, что написали нам! Мы свяжемся с вами в ближайшее время.</p> </div> Делаю так:
if (document.querySelectorAll("#wpforms-confirmation-1113").length > 0)
{console.log("форма отправлена");
}
Но не срабатывает :( |
Цитата:
Так же можно напомнить что: - ИД должен быть уникальным на странице и querySelectorAll можно и не применять к селектору идентификатора. - Если важен сам факт наличия элементов, можно укоротить условие
document.querySelectorAll("селектор").length
Этого будет достаточно. Или вообще вот так
document.querySelector("селектор")
|
Цитата:
|
Цитата:
Работа с ним хорошо описана в здешнем учебнике - https://learn.javascript.ru/mutation-observer |
Цитата:
function handleMutation(mutationsList, observer) {
for (const mutation of mutationsList) {
if (mutation.type === 'childList') {
for (const addedNode of mutation.addedNodes) {
if (addedNode instanceof HTMLElement && addedNode.classList.contains('wpforms-confirmation-container')) {
console.log('Появился новый элемент');
observer.disconnect();
}
}
}
}
}
const observer = new MutationObserver(handleMutation);
observer.observe(document.body, { childList: true, subtree: true });
Единственное, не могу понять, как проверять не на класс, а на id ? |
Цитата:
Цитата:
addedNode.id === 'нужный_ИД' |
ksa, все работает, спасибо)
|
| Часовой пояс GMT +3, время: 21:20. |