我正在查看此Javascript代码,以计算一系列学生的平均成绩,然后根据结果确定应分配的字母成绩。我想知道如何在HTML中显示这两个结果?我玩耍并尝试了一些尝试,但似乎没有任何效果。我也是Java的新手,所以解决方案很可能非常简单,但是我不确定如何去解决它。
var students = [80, 77, 88, 95, 68];
var Avgmarks = 0;
for (var i = 0; i < students.length; i++) {
Avgmarks += students[i][1];
var avg = (Avgmarks / students.length);
}
console.log("Average grade: " + (Avgmarks) / students.length);
if (avg < 60) {
console.log("Grade : F");
} else if (avg < 70) {
console.log("Grade : D");
} else if (avg < 80) {
console.log("Grade : C");
} else if (avg < 90) {
console.log("Grade : B");
} else if (avg < 100) {
console.log("Grade : A");
}
编辑:2019年9月10日
我已将代码修改为此:
let students = [80, 77, 88, 95, 68];
let avgMarks = 0;
for (let i = 0; i < students.length; i++) {
avgMarks += students[i];
}
let avg = avgMarks / students.length;
if (avg <= 60) {
document.write("Grade : F");
}
else if (avg <= 70) {
document.write("Grade : D");
}
else if (avg <= 80) {
document.write("Grade : C");
}
else if (avg <= 90) {
document.write("Grade : B");
} else {
document.write("Grade : A");
}
document.getElementById("studentAvgGrade").innerHTML = avg;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Average Student Grade and Letter Grade</title>
</head>
<body>
<div id="studentAvgGrade"></div>
</body>
</html>
我的代码正在运行。谢谢大家的帮助。
但是我想知道这是否是使用纯Javascript解决任务的最佳方法,还是有更好的方法?
答案 0 :(得分:1)
您可以使用
设置元素const element = document.querySelector(YOUR HTML ELEMENT SELECTOR);
然后在每个if语句中
element.innerText = grade
答案 1 :(得分:0)
首先声明一个新的等级变量: 让成绩=“” 然后在if / else语句中,为变量变量分配每个条件的新值。
在您的html中选择您希望其出现的元素,然后将变量grade分配为其innerhtml。
<h1 id='grading'></h1>
并在您的js中:
let grade = ""
if (avg < 60){
console.log("Grade : F");
grade = "F"
}
else if (avg < 70) {
console.log("Grade : D");
grade = "D"
}
else if (avg < 80)
{
console.log("Grade : C");
grade = "C"
} else if (avg < 90) {
console.log("Grade : B");
grade = "B"
} else if (avg < 100) {
console.log("Grade : A");
grade = "A"
}
const gradeToDisplay = document.getElementById("grading")
grading.innerHTML = grade