Javascript 使用循环的最后一次迭代而不是当前迭代在循环中单击函数
它应该循环遍历数组组件,并根据当前循环迭代每次放置不同的参数,但它一直使用循环的最后一次迭代Javascript 使用循环的最后一次迭代而不是当前迭代在循环中单击函数,javascript,arrays,for-loop,Javascript,Arrays,For Loop,它应该循环遍历数组组件,并根据当前循环迭代每次放置不同的参数,但它一直使用循环的最后一次迭代 for (let i = 0; i < products.length; i++) { var x = document.createElement("div"); document.querySelector(".item").style.display = "none"; x.innerHTML = document.querySel
for (let i = 0; i < products.length; i++) {
var x = document.createElement("div");
document.querySelector(".item").style.display = "none";
x.innerHTML = document.querySelector(".item").innerHTML;
x.className = "item";
x.id = products[i][5];
x = document.querySelector(".resultitems").appendChild(x);
document
.getElementById(products[i][5])
.getElementsByTagName("a")[0].onclick = productNum(products[i][5]);
for(设i=0;i
整个循环太长,无法发布,但是看到onclick函数,它每次都会放入最后一次迭代
任何帮助都将非常感谢是
productNum
返回函数,还是应该在单击时执行productNum
本身?因为现在执行productNum
,其返回值被分配给onclick事件。它使用基于参数的switch语句设置局部变量将productNum(products[i][5])
更改为()=>productNum(products[i][5]);
修复它。非常感谢Ivar,我在最后一个小时内一直在尝试修复它