老师这里为什么不首先$(document).ready(function(){})?

来源:3-5 让菜单下拉

你要去哪

2020-02-02 00:46:46

http://img.mukewang.com/climg/5e35ab52096c312f04040236.jpg

写回答

2回答

慕移动3569406

2020-02-05

这个语句的用意就是在DOM准备好的时候, 执行指定的代码, 为的就是能够在操作DOM的时候,确保DOM是已经产生了,准备好了。保证代码能够如期运行。

而视频老师将JS文件被放在了body标签的底部, 浏览器解析是至上而下执行解析的, 当执行到script标签的时候, 它前面的DOM就已经准备好了, 所以不需要使用你说的这个语句。代码依然可以正常运行。



0

好帮手慕夭夭

2020-02-02

同学你好,这是因为html中是在最下面引入的js文件,所以不需要$(document).ready(function(){}) 。具体参考如下理解:

假如把jq代码放在head中,代码顺序执行,当页面在浏览器中打开时,会先执行jq代码,再执行body里面的dom结构。如果jq执行时要获取body中的元素,但此时页面的结构还没有加载进来,就会出错。所以需要把jq代码放在$(document).ready(function(){}),作用是让页面结构加载完再去执行jq代码。

而本案例中,引入的js文件本身放在了结构下面,就不需要$(document).ready(function(){})了。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 14456 问题

查看课程