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

DOM 0级问题 为什么按钮不响应,提示错误是btn2是空



var btn2=document.getElementById("btn2");//取出按钮2

btn2.onclick=function(){ //function ()是匿名函数

window.alert("这是DOM 0级调用的事件");

}

<input type="button" id="btn2" value="按钮2" />


正在回答

3 回答

如果你的id没有写错的话,很可能是在执行getElementById的时候 btn2还没有创建出来,你可以像下面这样写。

window.onload = function() {
   //... 写上你的代码 
}


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

一墨飞雪 提问者

非常感谢!
2016-04-24 回复 有任何疑惑可以回复我~
#2

一墨飞雪 提问者

为什么这样写就可以?多谢多谢
2016-04-24 回复 有任何疑惑可以回复我~
#3

Wei丶Haijun 回复 一墨飞雪 提问者

HTML是从上之下顺序解析的,你在<head></head>里面导入的js肯定要比<body></body>里面的内容先解析,所以在执行js代码的时候会获取不到btn2;如果写在window.onload里面,会等到整个文档流加载完毕之后才会执行。
2016-04-24 回复 有任何疑惑可以回复我~
#4

一墨飞雪 提问者 回复 Wei丶Haijun

懂了,多谢
2016-04-24 回复 有任何疑惑可以回复我~
查看1条回复

<input type="button" value="登陆" id="btn2" >

<script type="text/javascript">

       var btn2=document.getElementById("btn2");

         function bt1(){

      window.open('http://www.baidu.com','_blank','width=300 height=200','tooler=no');

       }

 btn2.onclick="bt1()";

</script>

这个完全没有反应哈,怎么回事

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

慕函数9642432

<input type="button" value="登陆" id="btn2" > <script type="text/javascript"> var btn=document.getElementById("btn2"); btn.onclick=function(){ window.open('http://www.baidu.com','_blank','width=300 height=200'); }; </script>
2016-07-31 回复 有任何疑惑可以回复我~

深入理解HTML文档的解析顺序即可! 

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

举报

0/150
提交
取消
DOM事件探秘
  • 参与学习       99545    人
  • 解答问题       1197    个

DOM事件?本课程会通过实例来给小伙伴们讲解如何使用这些事件

进入课程

DOM 0级问题 为什么按钮不响应,提示错误是btn2是空

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