javascript - 将不同 DIV 中的数字相加

标签 javascript html string addition innerhtml

(我是新手)我想做的是......

  1. 获取 DIV ID 的内容(数字)。
  2. 将这些数字相加
  3. 在“at”DIV 中打印它们。

我知道这应该非常简单。但我无法理解为什么它不起作用。我想了解为什么它不起作用。我不一定要你们为我写。我想学习。这是我的代码...

var at = document.getElementById("a-total");
var ac = document.getElementById("a-coffee").innerHTML;
var ah = document.getElementById("a-hobby").innerHTML;
var af = document.getElementById("a-fundme").innerHTML;

var addopt = ac + ah + af;

function aTotal (){
    if (addopt >= 0){
        at.innerHTML = addopt;
    } else {
        console.log("tis broken");
    }
}

aTotal();

它输出正确,但它只是没有将 DIV 中的数字加在一起。它将它们并排放置而不是将它们加在一起。

最佳答案

那是因为您只是进行字符串连接

您需要将值转换为数字,因为.innerHTML() 返回一个字符串。您的操作应该是这样的:

var addopt = +ac + +ah + +af;

注意:

最好使用.innetrText().textContent()超过 .innerHTML 以避免在元素内获取 HTML 标记(如果结果中有任何标记)。

关于javascript - 将不同 DIV 中的数字相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53818557/

相关文章:

javascript - 数组连续元素之和

javascript - 将多个变量从express传递到jade

html - 有没有办法阻止顺风覆盖 Markdown 默认间距?

C# 将字符串转换为对象

python - 在Python中大规模连接字符串

javascript - 未选择选项

javascript - 在其内部发出解除绑定(bind) "DOMSubtreeModified"和 setTimeout

javascript - Jquery 单击返回一个值并在另一个函数中使用它

javascript - 在 javascript 中出现次数最多

c - 在c中获取日期和时间