2010-04-11 2 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 

두 번째 목록은 내가 잘못거야 어디에서 누군가가 지적 할 수 0

에서 인덱스를 다시함으로써 다시 1에서 시작해야합니까? 나는 jQuery 전문가 또는 무엇이든 아니에요. 분명히 :)

많은 감사, 마이클.

+0

다음 중 중복 : http://stackoverflow.com/questions/2615758/using-each-method-how-do-i-get-the-indexes-of-multiple-ordered-lists-to-each – interjay

+0

감사합니다. 링크. 나는 검색을했으나 좋은 결과를 얻기 위해 올바른 용어를 생각할 수 없었다. 건배. – Michael

답변

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를 통해이 스타일을 적용 할 수 있습니다 :는 example here

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

합니다.

+0

이것은 훨씬 더 IMHO입니다. – Raja