为什么我把script放到head部分程序会报错
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>attributes</title>
<script>
var attr=document.createAttribute("data");
attr.value="wrap";
var div=document.getElementById("box");
div.attributes.setNamedItem(attr);
</script>
</head>
<body>
<div id="box"></div>
</body>
</html>23
收起
正在回答
2回答
同学你好!
这是因为:代码是自上而下执行的 script标签放在head中,它需要调用的dom元素(例如这里的"box)还没有加载出来所以会报错。
建议将script标签写在body下面,或者是给script添加一个预加载的函数:

如果帮助到了你欢迎采纳 祝学习愉快~
Sherlock_bourne
2019-04-20 18:24:29
因为电脑读取时,是从上往下读取,读到js代码“div=document.getElementById("box");”时,因为名为“box”的元素还在下面,故读取不到,系统会报错。当然,有时就是要吧js放在上面,后面的课程会讲到的。
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星