Я пытаюсь добавить 1 к значению, которое я извлек из своего HTML, используя jquery.fetching html, который на самом деле является числом, хочу добавить 1 к нему и заменить его
В настоящее время он добавляет 1, обрабатывая значение как строку.
Я пытаюсь добавить 1 к значению, которое я извлек из своего HTML, используя jquery.fetching html, который на самом деле является числом, хочу добавить 1 к нему и заменить его
В настоящее время он добавляет 1, обрабатывая значение как строку.
x = parseInt(x)+1 //assuming input in an integer
или
x = parseFloat(x)+1 //assuming input is non-integer
Вы должны заставить преобразование типа в целое от строки.
Вы хотите parseInt
. Вы должны указать базовый аргумент, как отмечает Паоло, иначе он может быть интерпретирован как восьмеричный, если он имеет ведущий 0
(или шестнадцатеричный, если он имеет ведущий 0x
).
js> parseInt("1", 10)+1
2
js> parseInt("010")
8
js> parseInt("0x10")
16
Вы должны всегда указывать второй аргумент parseInt, чтобы избежать сюрпризов. –
@Paolo Вы правы, обновили мой ответ, чтобы исправить его. –
удален downvote. :) –
Вы можете привести строку на номер, с помощью функции Number, он будет работать, когда число является целым числом или с плавающей точкой:
var i = Number(myValue) + 1;
В соответствии с поручением (с JQuery)
$('.vote-count-post').each(function() {
var n = parseInt($(this).text(), 10)+1;
$(this).text(n);
});
Это добавит текст элемента. В этом случае добавляется один на все голоса на этой странице! (работает в firebug - слишком плохо, это только на странице)
Хахаха, я просто положил это в петлю и побежал ее 1000 раз. Смешные результаты. –
Очень интересно утром! –
Будьте осторожны с parseInt
! Вы должны всегда указать второй аргумент, который является базой:
$('div.c2 a').text(
parseInt($('div.c2 a').text(),10)+1
);
Вы должны всегда указывать второй аргумент ParseInt, чтобы избежать сюрпризов. –