2013-12-15 2 views
0

В этом коде:Переходя функцию JQuery текста() метод

$('li').text( function(i, text){ return (i+1)+ ". " + text; });

Я получаю номера для элементов списка в порядке, начиная с 1 до последнего элемента списка, и он прекрасно работает. Но когда я использую i ++ insted i + 1, числа начинаются с 0. Так что insted 1. для элемента списка 1 я получил 0 и так далее. В чем подвох?

+0

Поскольку 'i ++! = ++ i' – elclanrs

+0

сохранение' i + 1' было бы неплохо, поскольку вы фактически не увеличиваете значение. Есть разница между приращением и использованием его плюс 1. –

+0

всегда начинается с 0. Первый элемент - это элемент # 0 –

ответ

3

Вам необходимо использовать ++i, i++ - оператор приращения почтой. Вам нужно предустановить прирост, потому что вы хотите использовать добавочное значение в текущей операции.

+0

Хорошо, спасибо, это было быстро. – IGRACH

+1

Я помню, как Дуглас Крокфорд защитил это правило в JSLint, что предотвращает оператор ++, потому что люди неправильно понимают, как это работает. Казалось немного строгим, но я вижу, как он может отключить людей. –

Смежные вопросы