JavaScript——onload事件

本文探讨了JavaScript中在页面加载初期尝试修改DOM时遇到的'appendChild' of null错误,重点在于script标签位置不当导致querySelector未找到元素。解决方法是使用window.onload事件确保DOM加载完成再执行相关操作。
摘要由CSDN通过智能技术生成

加载 JS 时出现Cannot read property 'appendChild' of null错误:

<head>
    <script>

        let li = document.createElement("li");
        let text = document.createTextNode("广州");
        /*将 广州 添加到li*/

        li.appendChild(text);
        let box2 = document.querySelector(".box1 .box2");
        console.log(box2);
        box2.appendChild(li);
        }
    </script>
</head>

<body>
    <div class="box1">
        <div class="box2">你好</div>
</body>

定位:

经过筛查发现错误出现在对象box2段,box2为null。
querySelector查询不到选择器的字符串.box .box2。
问题原因:

检查代码发现,script标签写在页面上边,而浏览器中文档的加载顺序是自上而下,当读取querySelector(".box .box2")时 页面中html代码还未读取,因此导致box2对象为null,从而调用appendChild()时出现Cannot read property 'appendChild' of null。
解决方法:
  window.οnlοad=function(){}
  onload事件在页面加载完后才触发,为window绑定onload事件。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值