Как ждать, пока элемент существует?
Я работаю над расширением в Chrome, и мне интересно: каков лучший способ узнать, когда элемент появляется? Используя простой javascript, с интервалом, который проверяет, пока элемент не существует, или у jQuery есть простой способ сделать это?
1 ответ:
DOMNodeInserted
является устаревшим, наряду с другими событиями мутации DOM, из - за проблем с производительностью-рекомендуемый подход заключается в использовании MutationObserver смотреть дом. Это поддерживается только в новых браузерах, хотя, так что вы должны вернуться наDOMNodeInserted
, когдаMutationObserver
не имеется.var observer = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { if (!mutation.addedNodes) return for (var i = 0; i < mutation.addedNodes.length; i++) { // do things to your newly added nodes here var node = mutation.addedNodes[i] } }) }) observer.observe(document.body, { childList: true , subtree: true , attributes: false , characterData: false }) // stop watching using: observer.disconnect()