在学习时,使用下面代码获取标签进行onclick时发现没反应
<body> <a>单击按钮来改变这一段中的文本。</a><br> <button>按钮1</button><br> <button>按钮2</button><br> <script type="text/javascript"> var aEle=document.getElementsByTagName('button'); aEle.onclick=function(){ alert('你好'); } </script> </body>
百度后,发现原来是因为是getElementsByTagName()可能获取到多个button标签,因此是一个集合的存在,给集合注册onclick事件需要加上索引,正确的代码如下:
<body> <a>单击按钮来改变这一段中的文本。</a><br> <button>按钮1</button><br> <button>按钮2</button><br> <script type="text/javascript"> function aClick(){ alert("你好"); } var aEle=document.getElementsByTagName('button'); for(var i=0;i<aEle.length;i++){ aEle[i].onclick=aClick; } </script> </body>