1

自从我使用 Javascript 和 HTML 编码以来已经有一段时间了。我正在尝试构建一个基本的记分牌系统,该系统将在获得积分时为主客场得分添加积分。我目前正在制作 Home,当我完成基本操作后,我基本上会复制 Away。

这是我的代码:

<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>

当我选择 Touchdown 链接时,它会添加一个 6,当我选择 PAT 链接时,它会将 6 更改为 7。但是当我再次选择 Touchdown 时,它会在 7 之后添加 6。

76
Touchdown PAT

当我再次选择 Touchdown 时,如何将 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函数的第二个参数)。否则,类似的数字012可以解释为八进制数。

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 回答