2009-04-16 8 views

ответ

0
x = parseInt(x)+1 //assuming input in an integer 

или

x = parseFloat(x)+1 //assuming input is non-integer 

Вы должны заставить преобразование типа в целое от строки.

+0

Вы должны всегда указывать второй аргумент ParseInt, чтобы избежать сюрпризов. –

2

Вы хотите parseInt. Вы должны указать базовый аргумент, как отмечает Паоло, иначе он может быть интерпретирован как восьмеричный, если он имеет ведущий 0 (или шестнадцатеричный, если он имеет ведущий 0x).

js> parseInt("1", 10)+1 
2 
js> parseInt("010") 
8 
js> parseInt("0x10") 
16 
+1

Вы должны всегда указывать второй аргумент parseInt, чтобы избежать сюрпризов. –

+0

@Paolo Вы правы, обновили мой ответ, чтобы исправить его. –

+0

удален downvote. :) –

1

Вы можете привести строку на номер, с помощью функции Number, он будет работать, когда число является целым числом или с плавающей точкой:

var i = Number(myValue) + 1; 
1

В соответствии с поручением (с JQuery)

$('.vote-count-post').each(function() { 
    var n = parseInt($(this).text(), 10)+1; 
    $(this).text(n); 
}); 

Это добавит текст элемента. В этом случае добавляется один на все голоса на этой странице! (работает в firebug - слишком плохо, это только на странице)

+0

Хахаха, я просто положил это в петлю и побежал ее 1000 раз. Смешные результаты. –

+0

Очень интересно утром! –

2

Будьте осторожны с parseInt! Вы должны всегда указать второй аргумент, который является базой:

$('div.c2 a').text(
    parseInt($('div.c2 a').text(),10)+1 
); 

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

  • Нет связанных вопросов^_^