老师,为啥js一定要放在下面才能生效?

老师,为啥js一定要放在下面才能生效?

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>client</title>
</head>
<body>
   <input type="button" id="btnGet" value="发送get请求"/>
   <h1 id="message"></h1>
</body>

<script src="jquery-3.4.1.min.js"></script>

<script>
   $(function () {
       $("#btnGet").click(function () {
           alert("aaaaa");
           $.ajax({
               url: "/restful/request",
               type: "get",
               dataType: "json",
               success: function (json) {
                   console.log(json);
                   $("#message").text(json.message);
               }
           })
       })
   })
</script>
</html>


正在回答

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

3回答

同学你好,同学是指将如下的代码都放入header中吗?

http://img1.sycdn.imooc.com//climg/5e5115740978af8305120442.jpg

html代码从上向下执行。这时没有加载到<body>中的内容,所以${"#btnGet"}找不到对应的元素就会报错。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • BirdMan98 提问者 #1
    可视频中老师把jquery代码放到了header中了呀,怎么回事?
    2020-02-22 20:14:39
好帮手慕柯南 2020-02-23 10:26:23

同学你好!

本次案例中使用了$(function(){}),无论它放在哪里都会等到页面的document加载完再执行。你放在bead中无法正常运行可能是哪里写错了,可以查看一下浏览器的控制台是否报错了,浏览器加载的代码和idea中写的是否相同。正确示例:

http://img1.sycdn.imooc.com//climg/5e51e2bc09941d7106130383.jpg

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

好帮手慕阿满 2020-02-22 14:39:41

同学是指引入Jquery的代码放在前边吗?这里是按照从上到下的顺序执行的,只有先加载了Jquery,再后边才能使用$等Jquery的内容。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 BirdMan98 #1
    jquery代码放在header里,运行没反应,只能放在body或最下面才有反应,怎么回事?
    2020-02-22 16:43:23
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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