2014-06-20 2 views
-1

저는 lis를 '1 2 3 ...'으로 인쇄하고 싶습니다. 하지만 '0 1 2 ...'이 인쇄됩니다.앞에 '1'을 추가 할 수 없습니다.

var lessss = $('.lesson-nav .mod.unit.less li').length; 

    for (var i = 0; i < lessss; i++) { 
     $('.lesson-nav .mod.unit.less li:eq('+i+')').prepend('<i>'+i+'</i><b>L'+i+'</b>'); 
     console.log(i); 
    } 
+0

for 루프가 0이 아니라 1로 시작하기 때문에 var i = 1; i <= lessss; i ++ –

+0

0에서 시작하여 for 루프를 살펴보십시오. – KRUKUSA

+0

i = 1을 사용하면 문제가 해결되지 않습니다. 첫 번째 li에 적용되지 않습니다. – user3758403

답변

3
for (var i = 0; i < lessss; i++) { 
    $('.lesson-nav .mod.unit.less li').eq(i).prepend('<i>'+(i+1)+'</i><b>L'+(i+1)+'</b>'); 
    console.log(i+1); 
} 

하거나 함께 모든 코드를 대체 : 그것을 밖으로 인쇄 할 때

$('.lesson-nav .mod.unit.less li').each(function(i,v) { 
    $(this).prepend('<i>'+(i+1)+'</i><b>L'+(i+1)+'</b>'); 
    console.log(i+1); 
}); 
2

그냥 값에 1을 추가,이만큼 쉽게해야합니다. i이 남아있을 것입니다 때문에

for (var i = 0; i < lessss; i++) { 
    $('.lesson-nav .mod.unit.less li:eq('+i+')').prepend('<i>'+(i+1)+'</i><b>L'+(i+1)+'</b>'); 
    console.log(i); 
} 

여전히 제대로 모든 리튬 요소를 열거합니다 제로를 기반으로하지만 앞에 붙은 실제 텍스트는 하나에서 시작됩니다.

관련 문제