Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对于+;如果我遇到一些问题_Javascript_Css_For Loop_If Statement - Fatal编程技术网

Javascript 对于+;如果我遇到一些问题

Javascript 对于+;如果我遇到一些问题,javascript,css,for-loop,if-statement,Javascript,Css,For Loop,If Statement,我从一个API中得到一个课程名+分数,试图为每门课程构建一个分数在他旁边的div,这对我来说很有用 我试着根据每个等级的价值来给每个等级上色: 上面的80获取具有颜色:绿色的类名称goodGrade 在55下是badGrade,它有颜色:红色 和55-80,medGrade,颜色为黄色 出于某种原因,我所有的成绩都得到了等级badGrade,除了goodGrade或medGrade。所以现在,即使等级98也用红色表示 for(let i=0 ; i<data.length; i++)

我从一个API中得到一个课程名+分数,试图为每门课程构建一个分数在他旁边的div,这对我来说很有用

我试着根据每个等级的价值来给每个等级上色:

  • 上面的
    80
    获取具有
    颜色:绿色的类名称
    goodGrade
  • 55
    下是
    badGrade
    ,它有
    颜色:红色
  • 55-80
    medGrade
    ,颜色为黄色
出于某种原因,我所有的成绩都得到了等级
badGrade
,除了
goodGrade
medGrade
。所以现在,即使等级
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`)
  }
}
for(设i=0;i55){
如果(数据[i].examMark>80){
$(`courses.grade`).addClass(`goodGrade`)
}否则{
$(`courses.grade`).addClass(`medGrade`)
}
}否则{
$(`courses.grade`).addClass(`badGrade`)
}
}

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

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

for(设i=0;i或使用现有代码,您只需将类名添加到数组的最后一个元素中(因为我们正在追加div)
$('.courses.courses').last()

let数据=[
{
课程名称:“英语”,
考试成绩:55
}, {
courseName:“印地语”,
考试分数:60
}, {
课程名称:“科学”,
考试分数:90
}
]
对于(假设i=0;i 80?'goodGrade':(数据[i]。examMark>55?'medGrade':'badGrade');
$('.courses.courses').last().find('.grade').addClass(clName)
}
.course.grade.medGrade{
颜色:灰色;
}
.课程.成绩.不良成绩{
颜色:红色;
}
.当然.成绩.好成绩{
颜色:绿色;
}

你能发布你的“数据”对象吗?试试这样-->if(parseInt(data[i].examMark,10)>55)试试
parseInt(data[i].examMark)>55
这不是一个描述性的标题。请更改它。