如何等待元素的存在?我正在研究Chrome的一个扩展,我想知道:什么是了解元素何时出现的最佳方法?使用普通的javascript,间隔可以检查元素的存在,或者jQuery有一些简单的方法可以做到这一点?
3 回答
慕森王
TA贡献1777条经验 获得超3个赞
DOMNodeInsertedDOMNodeInsertedMutationObserver
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()
红颜莎娜
TA贡献1842条经验 获得超13个赞
selector该函数查找元素${selector} time此函数每隔${time}毫秒检查该元素是否存在。 function waitForElementToDisplay(selector, time) { if(document.querySelector(selector)!=null) { alert("The element is displayed, you can put your code instead of this alert.") return; } else { setTimeout(function() { waitForElementToDisplay(selector, time); }, time); } }
selector="#div1"time=5000id="div1"
添加回答
举报
0/150
提交
取消
