我正试图让“click()”函数在我传入函数时显示“i”的值.但它在完成之后又回到了’i’的价值.我在第一次传递函数时,如何让函数引用’i’的值,这是空白的.
for( var i=0; i<10; i++){
var ts = $('#<span></span>').clone().click(function(){
alert(i);
});
}
注意:
‘#’不应该存在,’.clone()’也不应该存在
解决方法:
这样的东西会起作用:
for(var i=0; i<10; i++){
(function(j) {
var ts = $('<span></span>').click(function(){
alert(j);
});
})(i);
}
You can give it a try here.尽管如此,你的创作有点过时,我不确定你为什么要创建一个新的元素来克隆它,而且还有一个额外的#在那里….我删除了上述两个,但是它不会影响内部函数的解决方案.