//document ready $(document).ready(function(){ ...code... }) //document ready 简写 $(function(){ ...code... })
有些时候也会这么写:css
//document load $(document).load(function(){ ...code... })
一个是ready一个是load,这两个到底有什么区别呢?今天咱们来聊一聊。面试
要想理解为何ready先执行,load后执行就要先聊一下DOM文档加载的步骤: chrome
(1) 解析HTML结构。 (2) 加载外部脚本和样式表文件。 (3) 解析并执行脚本代码。 (4) 构造HTML DOM模型。//ready (5) 加载图片/css/音频等外部文件。 (6) 页面加载完毕。//load
从上面的描述中你们应该已经理解了吧,ready在第(4)步完成以后就执行了。可是load要在第(6)步完成以后才执行。函数
$(document).ready(function(){ $("#img").height();//在chrome中获取到为0; })
$(window).load(function(){ $("#img").height();//在chrome中能够获取到 })