为什么我把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 星