1

JavascriptとHTMLコーディングを扱ってからしばらく経ちました。ポイントを獲得するとホームアンドアウェイのスコアを追加する基本的なスコアボードシステムを構築しようとしています。私は現在ホームに取り組んでおり、基本をノックアウトしたときに基本的にアウェイを複製します。

これが私のコードです:

<script type="text/javascript">

function addTD(){

    document.getElementById("score").innerHTML +=6;

}

function addPAT(){document.getElementById("score").innerHTML ++;}

</script>

<div id="score"></div>

<a href="javascript:addTD();">Touchdown</a>
<a href="javascript:addPAT();">PAT</a>

タッチダウンリンクを選択すると6が追加され、PATリンクを選択すると6が7に変わります。しかし、もう一度タッチダウンを選択すると、7の後に6が追加されます。

76
Touchdown PAT

タッチダウンをもう一度選択したときに、7を13に変更するにはどうすればよいですか?

よろしくお願いします。ブランドン

4

3 に答える 3

4

への変更

function addTD(){            
   document.getElementById("score").innerHTML=
        parseInt(document.getElementById("score").innerHTML,10)+6;
}
于 2013-01-24T04:19:26.733 に答える
4

innerHTMLは文字列であり、整数ではありません。

現在の値をインクリメントするには、次を使用できますparseInt

function addPAT(){
    var scoreEl = document.getElementById("score");
    scoreEl.innerHTML = parseInt(scoreEl.innerHTML, 10) + 1;
}

編集:Blenderが指摘したように、文字列が基数10の数値(parseInt関数の2番目の引数)であることも指定する必要があります。それ以外の場合、のような数値012は8進数として解釈される可能性があります。

MDNリンク:https ://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/parseInt

于 2013-01-24T04:19:45.707 に答える
1

これを使用parseIntして、テキストだけでなく整数について話していることをJavascriptが認識できるようにします。

于 2013-01-24T04:20:30.360 に答える