我想打印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);
}
答案 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开始。