为什么事件不执行?

时间:2017-04-08 09:43:22

标签: javascript events simple-html-dom

嘿家伙可以解释为什么事件没有执行? 调试器根本不会给出任何错误! 提前谢谢

    <!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>

  <button class="boton">prueba</button>
  <body>

<script type="text/javascript">

var elemento= document.getElementsByClassName("boton")
elemento.onclick=function(){
  alert("hola");
};
debugger;

</script>

  </body>
</html>

1 个答案:

答案 0 :(得分:1)

DOM方法document.getElementsByClassName()返回一个数组。在分配onclick处理程序之前,必须遍历数组项:

var elemento = document.getElementsByClassName("boton")
for (var i = 0; i < elemento.length; i++) {
  elemento[i].onclick = function() {
    alert("hola");
  };
}
debugger;
<button class="boton">prueba</button>

或者,如果您只选择一个元素,则可以使用document.querySelector()

var elemento = document.querySelector(".boton");
elemento.onclick = function() {
  alert("hola");
};
debugger;
<button class="boton">prueba</button>