web-dev-qa-db-ja.com

javascript(jquery)で整数値を文字列を返す値に追加するにはどうすればよいですか?

次のような単純なhtmlブロックがあります。

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

Jqueryを使用して、値に1を追加しようとしています(8)。

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

何が起こっているのかは、次のように表示されています:

81

それから

811

9ではなく、正解です。私は何を間違えていますか?

86
rball

parseInt()は、強制的に整数型にするか、変換を実行できない場合はNaN(数値ではない)にします。

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

2番目のパラメーター(基数)は、10進数として解析されることを確認します。

Parse intはここで使用するツールですが、他のツールと同様に正しく使用する必要があります。 parseIntを使用する場合、正しい基数が使用されるように、常にradixパラメーターを使用する必要があります

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

整数はその逆ではなく文字列に変換されています。あなたが欲しい:

var newValue = parseInt(currentValue) + 1
25
Chuck

iEではparseIntが機能しませんでした。したがって、整数として必要な変数に+を使用しました。

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

.jsの8進数の誤解に関して-私はこれを使用しました...

parseInt(parseFloat(nv))

先行ゼロでテストした後、正しい表現で毎回戻ってきました。

お役に立てれば。

4
Bill Ortell

コードは次のようになります。

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

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

ハックNトリック

2
rajeev

1ずつ増やすには、次のようにします。

  var newValue = currentValue ++;
1
alex

変数に1を掛けて、JavaScriptに変数を数値に変換させてから、他の値に追加することができます。これは、乗算が加算のように過負荷にならないため機能します。これはparseIntほど明確ではないと言う人もいるかもしれませんが、それはそれを行う方法であり、まだ言及されていません。

1
Ryan
var month = new Date().getMonth();
var newmon = month + 1;
$('#month').html((newmon < 10 ? '0' : '') + newmon );

月の問題を修正しました。getMonth配列は0から11までです。

1
Adeel Ishfaq

単純に、テキスト値の前にプラス記号を追加します

var newValue = +currentValue + 1;
0
Agorreca