94 votes

Comment puis-je ajouter une valeur entière avec javascript (jquery) pour une valeur de retourner une chaîne de caractères?

J'ai un simple bloc html comme:

<span id="replies">8</span>

À l'aide de jquery, je suis en train d'ajouter 1 à la valeur (8).

var currentValue = $("#replies").text();
var newValue = currentValue + 1;
$("replies").text(newValue);

Ce qui se passe, c'est d'en apparaissant comme:

81

alors

811

pas 9, ce qui serait la bonne réponse. Ce que je fais mal?

189voto

Diodeus Points 67946

parseInt() va l'obliger à être de type integer, ou NaN (pas un nombre) si elle ne peut pas effectuer la conversion.

var currentValue = parseInt($("#replies").text(),10);

Le deuxième paramètre (radix) fait en sorte qu'il est interprété comme un nombre décimal.

29voto

Jon P Points 5312

Analyser int est l'outil que vous devez utiliser ici, mais comme tout outil, il doit être utilisé correctement. Lors de l'utilisation de parseInt vous devriez toujours utiliser la base de paramètres pour assurer la bonne base est utilisé

var currentValue = parseInt($("#replies").text(),10);

27voto

Chuck Points 138930

L'entier est converti en une chaîne de caractères plutôt que vice-versa. Vous souhaitez:

var newValue = parseInt(currentValue) + 1

12voto

Gareth Nel Points 107

parseInt n'a pas fonctionné pour moi sous IE. Alors j'ai tout simplement utilisé + sur la variable que vous voulez comme un entier.

var currentValue = $("#replies").text();
var newValue = +currentValue + 1;
$("replies").text(newValue);

5voto

Bill Ortell Points 598

En ce qui concerne la octal interprétation erronée de l' .js - je viens d'utiliser ce...

parseInt(parseFloat(nv))

et d'après les essais de zéros, revient à chaque fois avec la bonne représentation.

espérons que cette aide.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X