无法添加' 1'在前置

时间:2014-06-20 22:19:57

标签: javascript jquery

我想打印lis为' 1 2 3 ...'。但是它会打印出来...... 0 2 2 ...'。

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);
    }

2 个答案:

答案 0 :(得分: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);
});

答案 1 :(得分:2)

只需在打印时将值加1,就可以轻松实现。

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);
}

这仍将正确枚举所有li元素,因为i将保持从零开始,但实际的文本将从1开始。