2017-04-08 249 views
0

嘿傢伙有人能解釋爲什麼事件不執行? 調試器根本不會給出任何錯誤! 預先感謝您爲什麼事件沒有執行?

<!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> 
+2

使用'var elemento = document.getElementsB yClassName(「boton」)[0]' –

+1

[JavaScript上類的JavaScript點擊事件監聽器]的可能重複(http://stackoverflow.com/questions/19655189/javascript-click-event-listener-on-class) –

+0

工作,非常感謝你! – ge00rge

回答

1

document.getElementsByClassName()返回一個數組的DOM方法。必須通過數組項循環分配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>

相關問題