gpt4 book ai didi

javascript - 向元素添加函数时保留 "i"值

转载 作者:行者123 更新时间:2023-11-30 10:25:38 25 4
gpt4 key购买 nike

我的情况:

var tds = document.getElementsByTagName("td");
for(i=0;i<tds.length;i++)
{
tds[i].onclick = function()
{
alert(i);
};
}

预期结果:告警TD数量。

但是如果有 6 个 TD,则返回值将始终是“i”的最后一个值。 (6)我怎样才能使“i”值在添加到函数时保持原值?

谢谢!

http://jsfiddle.net/nuKEK/11/

最佳答案

您需要创建一个闭包来捕获 i 值。像这样

function createFunction(i){
return function(){
alert(i);
};
}

var tds = document.getElementsByTagName("td");
for(i=0;i<tds.length;i++){
tds[i].onclick = createFunction(i);
}

演示:http://jsfiddle.net/nuKEK/12/

关于javascript - 向元素添加函数时保留 "i"值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19690383/

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