window.onload
函数,但是今天就不采用这种方式来解决,原因一会儿在进一步阐述。<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> </head> <script type="text/javascript"> document.getElementById("h1").style.color = "red"; </script> <body id="box"> <h1 id="h1">hhhhh</h1> </body></html>出现上边那种情况就是没有理解html标签和dom节点之间的关系,html是一种标记语言,它告诉我们这个页面的内容,但是行为操作是需要通过dom操作来实现的。html标签通过浏览器解析后变成dom节点,当加载页面的时候dom节点会以dom tree的形式组织,当所有的dom节点都构建完毕,就可以理解为dom ready
浏览器通过渲染引擎来实现,它的作用就是把请求的内容渲染到页面上,默认情况下渲染引擎可以渲染html,xml,图片,但是也可通过插件来显示其他的文件,比如pdfviewer来显示pdf文档。
那为什么放弃window.onload呢,当页面结构不多的时候用window.onload是完全没有问题的。举个小例子吧,现在有这样的一个需求,在页面内请求100张远程加载的图片,并且要求点击图片的时候alert出图片地址,这时候会发现dom节点会很快的创建完毕,但是图片的资源可没有那么快的就能加载完毕,这时候页面就会出现问题,对用户体验大打折扣。
document.documentElement.doScroll('left')
来判断dom树是否创建完毕。 新闻热点
疑难解答