我正在尝试添加一个事件侦听器,但没有结果。我知道 JavaScript 具有提升功能,但我相信除了正确的解决方案之外,我已经尝试了所有方法。
const cbox = document.querySelectorAll(".box");
function doit() {
for (let i = 0; i < cbox.length; i++){
cbox[i].classList.add("red");
}
}
cbox.addEventListener("click", doit, false);
有人能发现我犯的错误吗?
原文由 Evan 发布,翻译遵循 CC BY-SA 4.0 许可协议
代码与您提供的链接之间存在一些差异。那里没有函数
doit()
。您已将
addEvenListener
附加到NodeList
中cbox.addEventListener("click",.....
,您必须遍历当前列表并附加事件:尝试以下操作:
您还可以将
Array.prototype.forEach()
与arrow function
语法一起使用,这样您就可以用更少的代码实现相同的目的: