自从我使用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>
当我选择Touchdown链接时,它会添加一个6,当我选择PAT链接时,它会将6更改为7.但是当我再次选择Touchdown时,它会在7之后添加6。
76
Touchdown PAT
当我再次选择Touchdown时,如何将7更改为13?
提前感谢您的帮助。 布兰登
答案 0 :(得分:4)
更改为
function addTD(){
document.getElementById("score").innerHTML=
parseInt(document.getElementById("score").innerHTML,10)+6;
}
答案 1 :(得分: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
答案 2 :(得分:1)
你会想要使用parseInt
,以便Javascript知道你在谈论一个整数,而不只是文本。