我想打印lis为'1 2 3…'。但是它打印'0 1 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);
}
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,应该就这么简单了。
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开始。