You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用jQuery遍历表格行列计算学生平均分出现累加错误如何解决

问题原因
  • 原有代码会选中页面全部.score类的成绩单元格统一求和,计算出的总分是所有学生所有科目的成绩总和,同时会给所有.average-score单元格设置相同的平均值,无法和单个学生的成绩对应。
修正后代码
$("#btn-average").click(function() {
  // 遍历每一行学生记录
  $(".student-info").each(function() {
    let sum = 0;
    // 仅统计当前行内的成绩
    $(this).find(".score").each(function() {
      const value = parseFloat($(this).text());
      sum += isNaN(value) ? 0 : value; // 兼容非数字成绩的异常场景
    });
    const average = sum / 3;
    // 仅修改当前行的平均分单元格
    $(this).find(".average-score").text(average.toFixed(1));
  });
});
调整说明
  • 外层遍历所有学生行.student-info,为每个学生单独计算平均分
  • 内层使用find()方法限定仅查询当前行内的成绩,不会跨行统计其他学生的分数
  • 新增isNaN()判断,避免成绩为空/非数字时出现NaN的计算错误
  • 每个学生的平均分仅写入当前行的.average-score单元格,不会覆盖其他学生的结果

额外提示:你现有表格结构中给成绩、平均分单元格设置的id会在新增学生后出现id重复问题,不符合HTML规范,后续可以删除这类重复id,仅用class做选择器即可。

内容的提问来源于stack exchange,提问作者duong-manh-dung

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 09:48:03