javascript - 将不同 DIV 中的数字相加
问题描述
(强制性的,我是新手)我想做的是......
- 获取 DIV ID 的内容(数字)。
- 把这些数字加在一起
- 将它们打印在“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 中的数字相加。将它们并排放置,而不是将它们加在一起。
解决方案
那是因为你只是在做一个 string
concatenation。
您需要将值转换numbers
为.innerHTML()
返回 a string
。这是您的操作方式:
var addopt = +ac + +ah + +af;
笔记:
如果结果中有任何标记,最好使用.innetrText()
或.textContent()
结束.innerHTML
以避免在元素中获取标记。HTML
推荐阅读
- python-3.x - Python将字典作为参数传递
- vba - Outlook VBA 组合框中的动态搜索
- angular - 具有可为空字符串的角度光滑网格复杂对象
- javascript - 如何使用 jquery 检测对话框是否已打开?
- java - 为什么没有出现 AWT 框架的文本字段?
- tensorflow - 缺少输入数据
- flutter - 颤振错误:“对象?”类型的值 不能分配给“字符串”类型的变量
- java - 如何从 Eclipse 中删除 Lombok。与 Eclipse 上的 F11 相关的问题
- flutter - 当我在 Flutter 中将文本字段设置为下一行时,文本会上升
- lua - 数组列表帮助作弊引擎