为了账号安全,请及时绑定邮箱和手机立即绑定

为什么增量被放在我想要增加的值旁边

为什么增量被放在我想要增加的值旁边

守着星空守着你 2023-09-07 17:14:31
我试图在单击按钮时将 h1 标记中的数字简单地增加 100。我能够使用 ++ 运算符使其增加 1,但是当我尝试使用 += 运算符增加 100 时,它会将值放在初始值旁边,并且每次单击都会执行此操作,为什么会发生这种情况?这是我的代码:function Cash() {    var x = 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>
查看完整描述

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>


查看完整回答
反对 回复 2023-09-07
?
汪汪一只猫

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>


查看完整回答
反对 回复 2023-09-07
  • 2 回答
  • 0 关注
  • 104 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信