$(document).ready(function(){varspans=$("#divTestspan");for(vari=0;i
2 回答
FFIVE
TA贡献1797条经验 获得超6个赞
这样写就可以了。$(document).ready(function(){varspans=$("#divTestspan");for(vari=0;i;(function(i){ spans[i].onclick=function(){alert(i);}})(i);}});说一说为什么,因为页面加载完的时候,for循环也瞬间执行完了,点击的时候i早就变成了length,而且大家算是共享这一个i。但是为什么上面说的行呢,因为将i放到一个自动执行的闭包中,首先它会自动执行,然后实参传递到形参的时候,非引用类型的实参传递给形参会复制一份,而不是共享一份,所以就会有n个i了,每个i都不一样。
添加回答
举报
0/150
提交
取消