Javascript-加载元素时选择元素
我试图得到一个元素的值。但我面临一个问题 在添加元素一段时间后加载dom内容时 如果我尝试选择它,我会得到null。我尝试了Javascript-加载元素时选择元素,javascript,Javascript,我试图得到一个元素的值。但我面临一个问题 在添加元素一段时间后加载dom内容时 如果我尝试选择它,我会得到null。我尝试了window.addEventListener('DOMContentLoaded',doSomething),但对我没有帮助 通过添加load事件监听器,我对img元素做了类似的事情。但是我不能在这里添加加载事件侦听器,因为它是null document.querySelector('.some-element') 我如何才能做到这一点呢?解决方案没有设置超时,因为我们
window.addEventListener('DOMContentLoaded',doSomething)
,但对我没有帮助
通过添加load
事件监听器,我对img元素做了类似的事情。但是我不能在这里添加加载事件侦听器,因为它是null
document.querySelector('.some-element')
我如何才能做到这一点呢?解决方案没有
设置超时
,因为我们不知道加载元素的确切时间
document.addEventListener('DomainNodeInserted',函数(事件){
//在这里做点什么
log(“DOM中添加的新元素”)
},对);
setTimeout(函数(){
var d1=document.getElementById('one');
d1.插入相邻的TML('beforeend','two');
}, 2000);代码>
One
我建议您注意对DOM树所做的更改。一旦元素成为DOM的一部分,就可以调用disconnect()函数
const targetNode=document.querySelector(“body”);
const observer=新的MutationObserver((mutationList,observer)=>{
mutationList.forEach((突变)=>{
if(mutation.type==='childList'){
console.log(突变.添加节点);
}
})
});
观察者,观察者(目标节点{
儿童名单:是的,
});
设置超时(()=>{
const someElement=document.createElement(“div”);
someElement.className=“some element”;
someElement.textContent=“Some Element”;
document.body.appendChild(someElement);
}, 1000);代码>您可以使用MutationObserver,您不需要添加超时功能