我觉得自己像个傻瓜:我希望将index=i
分配给我选择的每个LI,并且我递增。它似乎一次性分配它们,但它们都得到index=1
。想法?
$("#window ul li").each(function(){
var i = 1;
$(this).attr("index", i);
i++;
});
答案 0 :(得分:5)
您传递给每个函数的回调函数在集合中被赋予从零开始的索引作为第一个参数。
$("#window ul li").each(function(i){
$(this).attr("index", i+1);
});
因此,如果您希望索引以1开头,请添加1。
答案 1 :(得分:0)
这是因为each
为每个元素分别执行 的lambda函数,并且在每次调用中都设置了i=1
。在致电i
之前,您可以声明{in each
。
var i = 1;
$("#window ul li").each(function(){
$(this).attr("index", i);
i++;
});
编辑:但马里奥的解决方案要好得多。
答案 2 :(得分:0)
var i = 1;
$("#window ul li").each(function(){
$(this).attr("index", i);
i++;
});
这应该也可以。