javascript - 如何仅使用没有库的 javascript 从具有相同类的不同 div 中获取值的总和?
问题描述
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。)
解决方案
首先,如果您想访问 ECMAScript 中的数组方法,您必须使用静态方法初始化一个Array
。然后您可以使用从每个类名中累积总和,并将其放入数组中:HTMLCollection
Array.from()
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);
}
推荐阅读
- java - 如何在一个 Java 控制器类中使用两个 TableView
- python - Python 全局类属性
- visual-studio-code - 有没有办法在 vs 代码资源管理器中展平或合并单个文件夹?
- oracle - ORACLE:如何使用输入和输出参数调用存储过程
- ios - 将 swift iOS 项目导入另一个项目
- java - LWJGL 找不到 org/lwjgl/openal/OpenALException
- javascript - 网站加载问题:Angular 6 项目加载时间过长
- vba - 使用 VBA 中的 DAO 数据库对象无 DSN 连接到 Oracle 数据库
- php - 句子前面的图像 - DIV
- qt - 未填充 ColumnLayout 中的完整列高