Arrays 将addEventListener分配给数组中的每个元素

Arrays 将addEventListener分配给数组中的每个元素,arrays,for-loop,toggle,addeventlistener,Arrays,For Loop,Toggle,Addeventlistener,我正在创建一个待办事项列表,我希望数组中的每个项都有事件侦听器,这样在单击该项时,它将切换一个我称为“done”的类,该类将遍历该项。这是我的代码,它并没有像希望的那样工作 for(var i = 0; i< arr.length; i++){ arr[i].addEventListener("click", function () { arr[i].classList.toggle("done"); }) }; for(变量i=0;i

我正在创建一个待办事项列表,我希望数组中的每个项都有事件侦听器,这样在单击该项时,它将切换一个我称为“done”的类,该类将遍历该项。这是我的代码,它并没有像希望的那样工作

for(var i = 0; i< arr.length; i++){
arr[i].addEventListener("click", function () {
arr[i].classList.toggle("done");
})
};
for(变量i=0;i

是否有任何更正?

您不能将事件侦听器添加到循环中包含的数组元素中。您可以向HTML元素(如列表元素)添加侦听器,然后循环列表元素。分享你的HTML代码让我看看。你不会在循环中向数组元素添加事件侦听器。您可以向HTML元素(如列表元素)添加侦听器,然后循环列表元素。分享你的HTML代码让我看看。