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

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

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
慕移动3569406 2020-02-05 19:50:39

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

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



好帮手慕夭夭 2020-02-02 14:59:50

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

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

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

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

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师