jQuery .each()函数。重置索引?

时间:2010-04-11 23:14:12

标签: jquery

我有多个具有相同类别的列表。

我想循环每个列表及其LI并在每个列表之前添加当前数字。我目前的代码是:

$jQuery(".numberList li").each(function(i) {

    var index = i + 1;

    $jQuery(this).prepend("<span>" + index + "</span>");

});

问题是,对于每个列表,索引不会在0处重新启动,它只会继续上升。例如,我现在得到的输出是:

First list
1. item
2. item
3. item

Second list
4. item
5. item
6. item

第二个列表应该从索引回到0再次从1开始。

有人能指出我哪里出错吗?我不是jQuery专家或其他任何东西......明确:))

非常感谢, 迈克尔。

2 个答案:

答案 0 :(得分:3)

我会考虑嵌套循环。

类似的东西:

$('.numberList').each(function(){
   $this.children('li').each(function(i){
      var index = i + 1;
      $jQuery(this).prepend("<span>" + index + "</span>");
   });
});

答案 1 :(得分:3)

为什么不只使用样式表?

.numberList {
    list-style-type: decimal;
}

如果由于某种原因必须动态完成,你可以通过jQuery应用这种风格:

$(".numberList").css("list-style-type", "decimal");​

example here