2 回答

TA貢獻(xiàn)1946條經(jīng)驗 獲得超3個贊
您從中獲取的值innerHTML是一個字符串,因此當(dāng)您+=向字符串添加(使用 )某些內(nèi)容時,它會連接原始字符串的末尾。
快速修復(fù)可以使用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貢獻(xiàn)1898條經(jīng)驗 獲得超8個贊
您沒有獲得預(yù)期結(jié)果的原因+=是由于兩者innerHTML都innerText返回字符串而不是數(shù)字。所以你的代碼正在'0'+'100'將 100 轉(zhuǎn)換為字符串。如果您在添加之前轉(zhuǎn)換為數(shù)字,事情將按預(yù)期工作。
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>
添加回答
舉報