javascript - 将多个数值合并为总计

标签 javascript html dynamic numbers addition

尝试合并多个 div 中的数值。

有时 div 的数量可以是 1,有时 div 的数量可以是 500。

尝试找到一种方法将所有数值组合成“组合总计”的输出

function addNums() {
    var sum = ('.item-price' + '.item-price');
}

document.getElementById('total').innerHTML = addNums;
<div class="item-price">$84</div>
<div class="item-price">$8</div>
<div class="item-price">$14</div>
<div class="item-price">$66</div>
<div class="item-price">$22</div>
<div class="item-price">$34</div>
<div class="item-price">$16</div>
<div class="item-price">$6</div>
<div class="item-price">$14</div>

<div class="item-total">Total:
  <span id="total" class="total" ></span>
</div>

最佳答案

您可以从标签中获取数字并使用reduce相互添加。

  • Array.from 从 DOM 数组创建普通数组
  • 然后我们将所有文本放入标签内,删除美元符号并将其设为数字​​
  • 最后,使用reduce 将它们加在一起。

const items = Array.from(document.getElementsByClassName("item-price")).map(item => +item.innerText.substr(1));

document.getElementById('total').innerHTML = items.reduce((a,b) => a + b);
<div class="item-price">$84</div>
<div class="item-price">$8</div>
<div class="item-price">$14</div>
<div class="item-price">$66</div>
<div class="item-price">$22</div>
<div class="item-price">$34</div>
<div class="item-price">$16</div>
<div class="item-price">$6</div>
<div class="item-price">$14</div>

<div class="item-total">Total:
  <span id="total" class="total" ></span>
</div>

关于javascript - 将多个数值合并为总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68247257/

相关文章:

php - 使用 PHP 删除文本框中的文本

javascript - Node JS : Ping Server & Client UDP

javascript - 如何在浏览器中确定用户的语言环境?

jquery - 如何向 CSS 表格添加带有表格标题的新表格行和列

javascript - 打开 GoogleMaps 应用程序,以便从网站在 Android 上进行导航

javascript - 循环遍历数组以查找用户输入的索引,然后替换另一个数组的相同索引处的值

html - 带或不带 data-* 前缀的自定义属性?

python - 动态创建的 kivy 按钮立即运行 on_press 和 on_release

php - 脚本执行多长时间才算太长?

html - 表中 td 的大小也发生了变化