清颖~ 2019-01-25 21:05 采纳率: 0%
浏览 914
已采纳

jQuery中为什么script脚本写在body前面时,其中的console.log输出是undefined?

jQuery中为什么script脚本写在body前面时,其中的console.log输出是undefined?
代码如下:

<script src="jquery-3.3.1.min.js"></script> 
    <script type="text/javascript">
            console.log($("#div1").html());
            console.log($("#div2").html());
            console.log($("#div2 span").html());
            console.log($("#input1").html());
            console.log($("#input2").html());
            console.log($("#button1").html());
    </script>
</head>
<body>
 <div id="div1">div有文本内容</div>
    <div id="div2">
        div2内的文本
        <span>span内有文本内容</span>
    </div>
    <input type="text" id="input1" value="这是一个input标签">
    <input type="text" name="" id="input2" placeholder="能成功获取">
    <button id="button1" value="这是一个button标签"></button>
</body>

控制台输出:图片说明
而脚本放在body下面就能正确输出。请问,为什么在body上面就是undefined啊<br> 已解决,写在$(function(){<br> })中即可。</p>

  • 写回答

4条回答 默认 最新

  • jixu8 2019-01-25 21:26
    关注

    当console.log代码执行时,body还没加载,所以找不到这个对象。一般放在body后面或者用window.onload事件包裹

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 一道python难题2
  • ¥15 一道python难题
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备