如何等待直到元素存在?

我正在开发Chrome中的扩展程序,但我想知道:找出元素何时存在的最佳方法是什么?使用纯JavaScript,间隔检查直到元素存在,或者jQuery是否有一些简单的方法来执行此操作?

回答:

DOMNodeInserted由于性能问题,不建议将其与其他DOM突变事件一起弃用-

推荐的方法是使用MutationObserver来监视DOM。不过,只有新的浏览器才支持此功能,因此您应该DOMNodeInsertedMutationObserver不可用时退回。

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()

以上是 如何等待直到元素存在? 的全部内容, 来源链接: utcz.com/qa/398625.html

回到顶部