2010-07-07 6 views
0

Я хочу, чтобы это сделатьдобавить с помощью JQuery

var x=$(this).attr('id'); 
var y = x+1; 

где х представляет собой целое

но значение, которое я получаю x1

Как я получаю 16, если х = 15 ?

Благодаря Жан

+4

id, не следует начинать с цифр ... – Reigel

+1

http://www.w3.org/TR/html401/types.html#type-name – LukeH

ответ

2
var y = parseInt(x) + 1; 

должен сделать трюк.

1

Вы должны сказать JavaScript это целое число, используя parseInt

var y = parseInt(x) + 1; 
8

Все ответы до сих пор не хватает параметр radix

var x=parseInt($(this).attr('id'), 10); 
var y = x+1; 
+2

Это потому, что это необязательный параметр и по умолчанию - 10. –

+3

@Dave : Итак, какое значение, по вашему мнению, может вызвать 'parseInt ('0123')'? https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Functions/parseInt – LukeH

+1

@Dave - Да, необязательно, по умолчанию 10, [если строка не начинается с 0] (http://www.w3schools.com/ jsref/jsref_parseInt.asp). Это устаревшая функция, но она все еще [укусы] (http://www.kipras.com/a-fact-about-javascript-parseint-that-i-wasnt-aware-of/105) [люди] (http: //www.mgitsolutions.com/blog/2008/10/07/the-importance-of-the-javascript-parseint-radix/). Моя копия хром даже делает устаревшую вещь, используя [этот тест] (http://jehiah.cz/archive/javascript-parseint-is-broken). –

1
console.log(Number("23") + 1); //24 

Я думаю, что вы должны использовать Number() вместо parseInt, поскольку:

console.log(Number("23#") + 1); //NaN 
console.log(parseInt("23#") + 1); //24 (I would expect a NaN) 
Смежные вопросы