2017-04-08 1 views
0

Hé les gars, est-ce que quelqu'un pourrait expliquer pourquoi l'événement ne s'exécute pas? Le débogueur ne donne aucune erreur! Nous vous remercions à l'avancePourquoi l'événement ne s'exécute pas?

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

Utilisez 'var elemento = document.getElementsB yClassName ("boton") [0] ' –

+1

Copie possible de [écouteur d'événement de clic JavaScript sur la classe] (http://stackoverflow.com/questions/19655189/javascript-click-event-listener-on-class) –

+0

Merci beaucoup! – ge00rge

Répondre

1

La méthode DOM document.getElementsByClassName() retourne un tableau. Vous devez parcourir les éléments du tableau avant d'attribuer le gestionnaire 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>

Sinon, si vous sélectionnez un seul élément, vous pouvez utiliser document.querySelector():

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