gpt4 book ai didi

javascript - 在循环中创建元素并使用不同的值

转载 作者:行者123 更新时间:2023-11-28 11:53:52 26 4
gpt4 key购买 nike

我正在尝试创建一个 a元素并将其设置为带有警报的点击功能。我熟悉 JavaScript 中的闭包,所以我知道我不能像 doc.onclick=function() {alert(i);} 那样直接调用它因为它将具有最后一个 i 的值。所以我尝试立即调用该函数,但它也立即弹出警报。我该如何解决这个问题?

  for (var i=0; i < 5; ++i) {
var doc = document.createElement("a");
doc.innerHTML = i;
doc.onclick = function(i) {alert(i);}(i);
document.body.appendChild(doc);
}

最佳答案

你应该包装这样的东西:

for (var i=0; i < 5; ++i) {
var doc = document.createElement("a");
doc.innerHTML = i;
(function(i){
doc.onclick = function() {
alert(i);
};
})(i)
document.body.appendChild(doc);
}

这种方式将 i 添加到闭包中,DEMO

关于javascript - 在循环中创建元素并使用不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29251985/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com