DOM对象加载完成后再执行操作
正确的解决办法是充分利用浏览器的队列特性,如下:
// 声明定时器 var timer = null // 检查dom是否执行完成 function check() { let dom = document.getElementById('yiifaa') if(dom) { // 执行dom加载完成后的操作,例如echart的初始化操作 echart.init('yiifaa') // 清除定时器 if(!timer) { clearTimeout(timer) } } else { // 自我调用 timer = setTimeout(check, 0) } } // 首次执行 check()