2 回答
TA贡献1946条经验 获得超3个赞
您从中获取的值innerHTML是一个字符串,因此当您+=向字符串添加(使用 )某些内容时,它会连接原始字符串的末尾。
快速修复可以使用Number方法:
function Cash() {
var x = Number(document.getElementById("money").innerHTML);
x += 100;
document.getElementById("money").innerHTML = x;
}
<div class="col-6 balance">
<h1 id="money" value="0">0</h1>
</div>
<button onclick="Cash()">Increase</button>
TA贡献1898条经验 获得超8个赞
您没有获得预期结果的原因+=是由于两者innerHTML都innerText返回字符串而不是数字。所以你的代码正在'0'+'100'将 100 转换为字符串。如果您在添加之前转换为数字,事情将按预期工作。
function cash() {
var x = document.getElementById("money").innerText;
x = parseInt(x, 10);
x += 100;
document.getElementById("money").innerHTML = x;
}
cash()
<div class="col-6 balance">
<h1 id="money" value="0">0</h1>
</div>
添加回答
举报