为了账号安全,请及时绑定邮箱和手机立即绑定

为什么放在<head>标签里就不能用,而放在<body>标签里就可以使用呢?​

<script type="text/javascript">  
  var body= document.body;            
  var btn = document.createElement("input");  
  btn.setAttribute("type", "text");  
  btn.setAttribute("name", "q");  
  btn.setAttribute("value", "使用setAttribute");  
  btn.setAttribute("onclick", "javascript:alert('This is a text!');");      
  body.appendChild(btn);  
</script>  
为什么放在<head>标签里就不能用,而放在<body>标签里就可以使用呢?

正在回答

2 回答

var body= document.body; 

这句代码需要有body元素才有效,如果放在head里,这句代码会先执行,后面的body后执行,应该就是var body= document.body; 先执行了,但是没有找到body这个元素,所以无效。放在body后面的话,就会先加载body元素,页面上就存在body元素了,那么这句代码就能正常执行了。

1 回复 有任何疑惑可以回复我~
#1

慕粉木粉 提问者

非常感谢!
2016-09-20 回复 有任何疑惑可以回复我~

在head标签里的话就先运行了这段js,body还没有加载

0 回复 有任何疑惑可以回复我~
#1

慕粉木粉 提问者

谢谢,明白了
2016-09-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么放在<head>标签里就不能用,而放在<body>标签里就可以使用呢?​

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信