javascript - JS:为什么当我点击按钮时没有提示信息?
问题描述
我尝试下面的代码,但是当我单击按钮时不显示警报消息!
let clickButton = document.getElementsByClassName("buttonClass");
clickButton.onclick = clickFunc;
function clickFunc(){ alert("hello")};
console.log(clickButton);
我用 document.createElement 创建按钮
我尝试过:
像这样只选择一个按钮
let clickButton = document.getElementsByClassName("buttonClass")[1];
但什么都没有我也尝试通过标记名获取元素,使用一定长度的按钮循环和添加事件侦听器,但再也没有
解决方案
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>
由于您按类定位,因此您将获得一组元素。因此,您必须迭代并将单击事件附加到每个元素,如下所示;
let buttons = document.getElementsByClassName("buttonClass");
for (var i = 0; i < buttons.length; i++) {
buttons.item(i).addEventListener('click', function(e) {
alert("hello");
});
}
推荐阅读
- python - Windows 中的 Python Multiprocessing.Process 类产生 AttributeError: Can't get attribute 'testClass1' on
- spring-data - mongodb中基于通用对象的查询
- visual-studio-2017 - 鼠标速度问题(Visual Studio 和 vstest.console.exe)
- javascript - 将 HSI 转换为 RGB 颜色空间的问题,反之亦然
- vb.net - 在树视图的两个表单之间传递信息
- numpy - 找到两个 3D 变换的轴心点
- c++ - 是否可以使模板专业化等于另一种类型
- java - 最终等于最后一个对象的对象的 ArrayList
- python - 如何在表格内绘制数字
- xamarin - 用户登录后如何防止返回按钮返回登录页面(Xamarin Forms)