Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript。检测何时从另一个js脚本加载html元素_Javascript - Fatal编程技术网

JavaScript。检测何时从另一个js脚本加载html元素

JavaScript。检测何时从另一个js脚本加载html元素,javascript,Javascript,我试图检测从第三方库加载的html元素,例如: 标题为“框”的div。应在不使用延迟的情况下检测 function createBox() { var parser = new DOMParser(); var domString = '<div title="box" style="border:solid" class="container"><button>btn</button><span class="i

我试图检测从第三方库加载的html元素,例如: 标题为“框”的div。应在不使用延迟的情况下检测

function createBox() {
      var parser = new DOMParser();
      var domString =
        '<div title="box" style="border:solid" class="container"><button>btn</button><span class="intro">Hello</span> <span id="name"> World!</span></div>';
      var html = parser.parseFromString(domString, "text/html");
      document.body.append(html.body.firstChild);
    }

    setTimeout(function() {
      // Do something after 2 seconds
      createBox();
    }, 2000);

    let box = document.querySelector('[title="box"]');
    if (box != null) {
      console.log("box is detected");
    }
函数createBox(){
var parser=新的DOMParser();
变量domString=
“btnHello世界!”;
var html=parser.parseFromString(domString,“text/html”);
document.body.append(html.body.firstChild);
}
setTimeout(函数(){
//2秒钟后做某事
createBox();
}, 2000);
let box=document.querySelector('[title=“box”]');
如果(框!=null){
console.log(“检测到框”);
}

如果您知道元素将被附加到何处,您可以将MutationObserver附加到父元素,当附加子元素时,父元素将运行回调:

函数createBox(){
var parser=新的DOMParser();
变量domString=
“btnHello世界!”;
var html=parser.parseFromString(domString,“text/html”);
document.body.append(html.body.firstChild);
}
console.log('start');
setTimeout(函数(){
//2秒钟后做某事
createBox();
}, 2000);
新的MutationObserver(()=>{
const-box=document.querySelector('[title=“box”]');
如果(方框){
console.log(“检测到框”);
}
})

.observe(document.body,{childList:true})供参考,官方文档和浏览器兼容性:感谢您的回答