Javascript 如何在jQuery集合上分配顺序值?

Javascript 如何在jQuery集合上分配顺序值?,javascript,jquery,Javascript,Jquery,我觉得自己像个傻瓜:我想给我选择的每个LI分配index=I,I递增。不过,它似乎一次将它们全部分配,并且它们都得到index=1。想法 $("#window ul li").each(function(){ var i = 1; $(this).attr("index", i); i++; }); 传递给每个回调函数的回调函数在集合中以零为基的索引作为第一个参数 $("#window ul li").each(function(i){ $(this).attr

我觉得自己像个傻瓜:我想给我选择的每个LI分配index=I,I递增。不过,它似乎一次将它们全部分配,并且它们都得到index=1。想法

$("#window ul li").each(function(){
    var i = 1;
    $(this).attr("index", i);
    i++;
});

传递给每个回调函数的回调函数在集合中以零为基的索引作为第一个参数

$("#window ul li").each(function(i){
    $(this).attr("index", i+1);
});

因此,如果希望索引以1开头,请添加1。

传递给每个回调函数的回调函数在集合中以零为基的索引作为第一个参数

$("#window ul li").each(function(i){
    $(this).attr("index", i+1);
});
因此,如果您希望索引以1开头,请添加1。

这是因为每个元素单独执行lambda函数,并且在每次调用中设置i=1。您可以在每次调用之前声明i并将其取消标记

编辑:但Mario的解决方案要好得多。

这是因为每个元素都单独执行lambda函数,并且在每次调用中设置i=1。您可以在每次调用之前声明i并将其取消标记

var i = 1;
$("#window ul li").each(function(){
    $(this).attr("index", i);
    i++;
});
编辑:但马里奥的解决方案要好得多

var i = 1;
$("#window ul li").each(function(){
    $(this).attr("index", i);
    i++;
});
这也应该起作用


这也应该有效。

Wow;所以它为您处理迭代器。。。谁知道呢。谢谢哇!所以它为您处理迭代器。。。谁知道呢。谢谢