为什么用document.body直接选取body,浏览器报错body未定义?
老师你好,我为什么不能直接用document.body选取body元素?要在先前面定义var body=document.body;再引用body,浏览器才不报错?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.li{list-style:none;height:50px;line-height:50px;width:100px;background-color:lightblue;text-align:center;}
</style>
<script>
//在此处补充代码
window.onload=function(){
var ul=document.createElement("ul");
var comment=document.createComment("创建节点");
var fragment=document.createDocumentFragment();
body.appendChild(ul);
for(var i=0;i<3;i++){
var li=document.createElement("li");
/*var text=document.createTextNode("第"+(i+1)+"个li");*/
li.appendChild(document.createTextNode("第"+(i+1)+"个li"));
li.className="li";
fragment.appendChild(li);
ul.appendChild(fragment);
}
document.body.insertBefore(comment,ul/*body.firstChild*/);}
</script>
</head>
<body>
</body>
</html>
正在回答
同学你好, 可以直接使用document.body, 你提供的代码,因为直接使用了body,所以报错body未定义。建议修改:

如果帮助到了你,欢迎采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星