Javascript只用一个类计算div元素中不同字符串的平均值而不改变html

标签 javascript

我正在学校网站上创建一个插件。我只能使用javascript。我必须用任何数字进行计算,如示例 (1 + 68 + 7 + 98 + 12 + 23)/(10 + 100 + 10 + 100 + 20 + 100) * 100。 ibb.co/r56KmQS 结果必须如下所示 感谢您的宝贵时间

//only the beginning    
var i;
    var a;
    var b;
    var p1 = [];
    var el = document.getElementsByClassName('course_eval_cell');
    for (i = 0; i < el[i].length; i++) {
        if (el[i].innerHTML.charAt(i) = "/") {
            for (a = 0; a < i - 1; a++) {
                p1 += el[i].innerHTML.charAt(a);
            }
            alert(p1);
        }
    }
<div class="course_eval_cell hasGrade" smsctip="true">1/10</div>
<div class="course_eval_cell hasGrade" smsctip="true">68/100</div>
<div class="course_eval_cell hasGrade" smsctip="true">7/10</div>
<div class="course_eval_cell hasGrade" smsctip="true">98/100</div>
<div class="course_eval_cell hasGrade" smsctip="true">12/20</div>
<div class="course_eval_cell hasGrade" smsctip="true">23/100</div>
<div class="course_eval_cell"></div>
<div class="course_eval_cell" id="12"></div>
<script>
 // code here
</script>

我预计 (1 + 68 + 7 + 98 + 12 + 23)/(10 + 100 + 10 + 100 + 20 + 100) * 100 的输出为 61.4

最佳答案

如果我理解你的问题那么这样怎么样?

//only the beginning    
var i, a, b;
var p1 = 0;
var p2 = 0;
var el = document.getElementsByClassName('hasGrade');
for (i = 0; i < el.length; i++) {
  [a, b] = el[i].innerHTML.split('/');
  p1 += parseInt(a);
  p2 += parseInt(b);
}
result = ((p1 / p2) * 100).toFixed(2);
console.log(result);
document.getElementById("12").innerHTML = result;
<div class="course_eval_cell hasGrade" smsctip="true">1/10</div>
<div class="course_eval_cell hasGrade" smsctip="true">68/100</div>
<div class="course_eval_cell hasGrade" smsctip="true">7/10</div>
<div class="course_eval_cell hasGrade" smsctip="true">98/100</div>
<div class="course_eval_cell hasGrade" smsctip="true">12/20</div>
<div class="course_eval_cell hasGrade" smsctip="true">23/100</div>
<div class="course_eval_cell"></div>
<div class="course_eval_cell" id="12"></div>

关于Javascript只用一个类计算div元素中不同字符串的平均值而不改变html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56306798/

相关文章:

javascript - 如何分解 JavaScript 中的正则表达式

Javascript 检查变量是否是窗口

javascript - 使用 PHP 和 Javascript 将文件保存到服务器

javascript - 修改后如何存储javascript

单个元素上的 Javascript

javascript - 在子组件中设置 prop 的值并将值传递回 app.js 的状态,react

javascript - Laravel 5.4 中如果记录存在禁用按钮

javascript - 将输入从隐藏更改为文件

javascript - 如何编写一个函数,将句子中每个单词开头的所有辅音字符串转换为 "r",直到它变成元音?

javascript - 如何处理/解析/读取 "multipart/mixed; boundary=batch"响应