У меня есть простой блок HTML, например:
<span id="replies">8</span>
Используя jquery, я пытаюсь добавить 1 к значению (8).
var currentValue = $("#replies").text();
var newValue = currentValue + 1;
$("replies").text(newValue);
Что происходит, это выглядит так:
81 год
тогда
811
а не 9, что было бы правильным ответом. Что я делаю не так?
javascript
jquery
casting
Rball
источник
источник
parseInt("010", 10)
возвращает десять.Parse int - это инструмент, который вы должны здесь использовать, но, как и любой другой инструмент, его следует использовать правильно. При использовании parseInt вы всегда должны использовать параметр radix, чтобы убедиться, что используется правильная база
var currentValue = parseInt($("#replies").text(),10);
источник
Целое число преобразуется в строку, а не наоборот. Вы хотите:
var newValue = parseInt(currentValue) + 1
источник
parseInt не работал у меня в IE. Поэтому я просто использовал + для переменной, которую вы хотите использовать как целое число.
var currentValue = $("#replies").text(); var newValue = +currentValue + 1; $("replies").text(newValue);
источник
Что касается восьмеричного неправильного толкования .js - я просто использовал это ...
parseInt(parseFloat(nv))
и после тестирования с ведущими нулями возвращался каждый раз с правильным представлением.
надеюсь это поможет.
источник
Ваш код должен выглядеть так:
<span id="replies">8</span> var currentValue = $("#replies").text(); var newValue = parseInt(parseFloat(currentValue)) + 1; $("replies").text(newValue);
Hacks N Tricks
источник
чтобы увеличить на единицу, вы можете сделать что-то вроде
var newValue = currentValue ++;
источник
var month = new Date().getMonth(); var newmon = month + 1; $('#month').html((newmon < 10 ? '0' : '') + newmon );
Я просто исправил вашу проблему с месяцем, массив getMonth начинается с 0 до 11.
источник
Просто добавьте знак плюса перед текстовым значением
var newValue = +currentValue + 1;
источник
Вы можете умножить переменную на 1, чтобы заставить JavaScript преобразовать переменную в число за вас, а затем добавить его к другому значению. Это работает, потому что умножение не перегружено, как сложение. Некоторые могут сказать, что это менее понятно, чем parseInt, но это способ сделать это, и о нем еще не упоминалось.
источник
Вы можете использовать метод parseInt () для преобразования строки в целое число в javascript
Вы просто меняете код вот так
$("replies").text(parseInt($("replies").text(),10) + 1);
источник