html5
html5新增了一个DOMContentLoaded事件
这个事件兼容IE9+
DOMContentLoaded事件在DOM解析完毕后及资源加载之前被触发。
通常这个事件要比onload快很多,但是也有很少的例外。
document.addeventListener('DOMContentLoaded',function(){...},false);
备注:DOMContentLoaded事件和onload事件触发的间隔时间相差不会很大,所以可以认为DOMContentLoaded比onload要快,只监听DOMContentLoaded即可。
在IE8中
所有的元素都有一个onreadystatechange事件,可以利用它代替DOMContentLoaded事件
//IE*模拟DOMContentLoaded事件的方式
document.attachEvent('onreadyststechange',function(){
if(document.readyState==='complete'){
var spans=document.querySelectorAll('span');
console.log(spans,'DOMContentLoaded');
}
});