[英]JS: why don't alert message when i click button?
I try the code below but when i click button does not show the alert message!我尝试下面的代码,但是当我单击按钮时不显示警报消息!
let clickButton = document.getElementsByClassName("buttonClass");
clickButton.onclick = clickFunc;
function clickFunc(){ alert("hello")};
console.log(clickButton);
i create buttons with document.createElement我用 document.createElement 创建按钮
console log return this控制台日志返回这个
I have try:我尝试过:
To choose only one button like this let clickButton = document.getElementsByClassName("buttonClass")[1];
要像这样只选择一个按钮,
let clickButton = document.getElementsByClassName("buttonClass")[1];
but nothing但没有
Also i have try to get element by tagname, loop with a length of buttons, and addeventlistener, but nothing again我也尝试通过标记名获取元素,使用一定长度的按钮循环和添加事件侦听器,但再也没有
let buttons = document.getElementsByClassName("buttonClass"); for (var i = 0; i < buttons.length; i++) { buttons.item(i).addEventListener('click', function(e) { alert("hello"); }); }
<button type="button" class="buttonClass">button 1</button> <button type="button" class="buttonClass">button 2</button> <button type="button" class="buttonClass">button 3</button> <button type="button" class="buttonClass">button 4</button> <button type="button" class="buttonClass">button 5</button>
Since your targeting by class, you get an array of elements.由于您通过 class 定位,因此您将获得一组元素。 So you have to iterate and attach click events to each element as show below;
因此,您必须迭代并将单击事件附加到每个元素,如下所示;
let buttons = document.getElementsByClassName("buttonClass");
for (var i = 0; i < buttons.length; i++) {
buttons.item(i).addEventListener('click', function(e) {
alert("hello");
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.