2010-04-11 82 views
1

我有多個相同類的列表。jQuery .each()函數。重置索引?

我想循環每個列表及其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 

其次名單應在1再次具有指標回到0

有人能指出我要去哪裏錯了啓動?我不是一個jQuery專家或任何...明確:)

非常感謝, 邁克爾。

+0

重複:http://stackoverflow.com/questions/2615758/using-each-method-how-do-i-get-the-indexes-of-multiple-ordered-lists-to-each – interjay 2010-04-11 23:19:11

+0

感謝鏈接。我確實有過搜索,但無法想出正確的術語來獲得好的結果。乾杯。 – Michael 2010-04-11 23:23:29

回答

3

我會考慮嵌套循環。

喜歡的東西:

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

爲什麼不使用只是樣式?

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

您可以通過jQuery的應用這種風格如果由於某種原因,它必須動態地進行:

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

example here

+0

這是更好的恕我直言。 – Raja 2010-04-11 23:45:20