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>
添加回答
舉報