Jquery each()计数器

ada*_*000 37 jquery

我已经做了一些搜索文档,并在网上花了一段时间,但无法找到解决方案!我希望警报告诉我单击.thumb时每个()的迭代次数.

EG:有6个.thumb我点击3号,浏览器弹出3!

实际发生的是无论点击哪个.thumb,弹出6.

var counter = 1;
$('.thumb').each(function () {
    $(this).click(function () {
        alert (counter);
    });
    counter++;
});
Run Code Online (Sandbox Code Playgroud)

感谢任何帮助.

Nic*_*ver 69

那是因为你counter所有 click处理程序共享同一个变量,它就是它在循环结束时的最终结果.相反,使用传入循环的.each()那个(已存在的那个的索引参数),如下所示:

$('.thumb').each(function (i) {
    $(this).click(function () {
        alert (i+1); //index starts with 0, so add 1 if you want 1 first
    });
});
Run Code Online (Sandbox Code Playgroud)

你可以在这里测试一下.