请参阅click()函数中的旧迭代器值以获取javascript / jQuery(闭包问题)

我正试图让“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.尽管如此,你的创作有点过时,我不确定你为什么要创建一个新的元素来克隆它,而且还有一个额外的#在那里….我删除了上述两个,但是它不会影响内部函数解决方案.

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...