javascript - 如何仅使用没有库的 javascript 从具有相同类的不同 div 获取值的总和?

标签 javascript

let sum = [];
for(i=1; i< 16; i++ ) {
    document.getElementsByClassName(`number${i}`).forEach(function() {
        sum += parseFloat(this.innerText()); 
    });
}

我建立了一个动态的 flexbox 表格,其中包含每天的学生姓名和他们的分数。您可以猜到有 15 个学生。现在我要做的是在单击更新按钮时计算每行中所有标记的总和。我已经为同一行中的单元格分配了 number1,... number15 类(number1 第一行 number2 第二行等)。到目前为止,我已经设法做到了这一点,但它不起作用。记住我不想使用 jquery,这只需要用 javascript 来完成。任何帮助将不胜感激。(我有一个添加按钮,它使用相同的类创建新的一天 onclick,所以 number1,number2 类代表数组带有标记的 div 作为文本节点。)

最佳答案

首先你必须初始化一个 Array来自 HTMLCollection通过使用 Array.from()静态方法,如果你想访问 ECMAScript 中的数组方法。然后你可以使用reduce()累加每个类名的总和,push()它进入 sum 数组:

const sum = [];

for (i = 1; i <= 15; i++) {
  const innerSum = Array.from(
    document.getElementsByClassName(`number${i}`)
  ).reduce(
    (acc, el) => acc + parseFloat(el.innerText),
    0
  );

  sum.push(innerSum);
}

关于javascript - 如何仅使用没有库的 javascript 从具有相同类的不同 div 获取值的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51199468/

相关文章:

javascript - 合并空单元格的 Extendscript 不适用于一页上的多个表格

Javascript each 循环遍历 slider 设置

javascript - Dojo 与 YUI javascript 框架

javascript - 提交前验证表单

javascript - 在 IE 中将图像灰显

javascript - 如何在循环内设置超时

javascript - 表单提交时出现 JQuery RangeError

javascript - 窗口本身加载后如何触发加载事件?

javascript - 更改 Arshaw 全日历的当前日期?

javascript - 在 D3.js 中使用数据连接处理元素的删除