首页 > 解决方案 > 将不同 DIV 中的数字相加

问题描述

(强制性的,我是新手)我想做的是......

  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 中的数字相加。将它们并排放置,而不是将它们加在一起。

标签: javascripthtmlstringaddinnerhtml

解决方案


那是因为你只是在做一个 stringconcatenation

您需要将值转换numbers.innerHTML()返回 a string。这是您的操作方式:

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

笔记:

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


推荐阅读