javascript - for+if 循环帮我解决了一些问题

标签 javascript css for-loop if-statement

我正在从 API 获取类(class)名称+成绩,尝试为每门类(class)构建 div,并在他旁边显示成绩,这对我有用。

我试着根据它的值(value)给每个等级上色:

  • above 80 得到类名 goodGradecolor: green
  • 55 下是 badGradecolor: red
  • 55-80medGrade,黄色。

由于某种原因,除了 goodGrademedGrade 之外,我的所有成绩都获得了 badGrade 类。所以现在即使是等级 98 也是红色的。

for(let i=0 ; i<data.length; i++) {
  $(`.courses`).append(`
    <div class="course"><b>${data[i].courseName}:</b>
      <span class="grade">${data[i].examMark}</span>
    </div>
  `) 

  if(data[i].examMark>55) {
    if(data[i].examMark>80) {
      $(`.courses .grade`).addClass(`goodGrade`)
    } else {
      $(`.courses .grade`).addClass(`medGrade`)
    }
  } else {
    $(`.courses .grade`).addClass(`badGrade`)
  }
}

最佳答案

这里的问题是你所有的类(class)都有相同的类(class)成绩。因此,此 js $('.courses .grade').addClass('goodGrade') 将添加到具有 grade 类的元素。你需要混合独特的类(class)。 像这样

for(let i=0 ; i<data.length; i++){
   let course = '<div class="course" id="course_'+ i +'">'
   $('.courses #course_'+ i +' .grade').addClass(`goodGrade`)
}

关于javascript - for+if 循环帮我解决了一些问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50945259/

相关文章:

javascript - angular6中选定行中的事件下拉列表

html - 定位和 float 不起作用?

javascript - Ghost Blog 为页面的菜单项提供当前类

javascript - HTML 保留 html 格式的字符串

javascript - 从主线程运行代码?

java - 如何在Java中选中不同的单选按钮时显示不同的消息?

java - 数组中for循环的逻辑错误

java - 使用 Scanner 时 For 循环在 1 次旋转后结束

javascript - 计算字符串差异作为范围

html - 如何并排创建两个 Ace Editors