在jQuery

时间:2016-09-11 09:04:36

标签: javascript jquery css colors

我正在显示测验结果,并希望它在相应问题旁边显示绿色正确或红色不正确。我有一个包含问题的PHP文件,根据用户的回答是否正确,返回true或false。我的下面的代码显示了我的结果显示方式(在表格中,显示了true或false)。我试过if语句来说明该字段是否等于true,将其设为绿色,否则为红色。但没有任何作用。我只想改变真实的'成为一个绿色的正确的'并且' false'使用jQuery变成红色不正确。

相关的JavaScript代码:

$("#tblextendedresults tbody").prepend("<br>")
$.each(extendedResults, function(i) {
    $("#tblextendedresults tbody").append("<tr><td>" + extendedResults[i]["question"] + "</td><td>" + extendedResults[i]["your_answer"] + "</td><td>" + extendedResults[i]["correct"] + "</td></tr>")
    if (extendedResults[i]["correct"] == "true") {
        $(this).css("color", "green");
    }
    else {
        $(this).css("color", "red");
    }
})

相关HTML代码:

<table id="tblextendedresults">
    <thead>
        <th>Question</th>
        <th>Your answer</th>
        <th>Correct?</th>
    </thead>
    <br>
    <tbody></tbody>
</table>

还有&#39; extendedResults&#39;是一个数组,每个问题和选择的答案都被推送到。 任何帮助,将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:3)

尝试使用last:child选择器 - $("#tblextendedresults tbody tr:last-child td:last-child")

代码中的

$(this)没有引用相应的元素。

JSFiddle

&#13;
&#13;
var extendedResults = [{
  "question": "Question1",
  "your_answer": "your_answer1",
  "correct": true
}, {
  "question": "Question2",
  "your_answer": "your_answer2",
  "correct": false
}, {
  "question": "Question3",
  "your_answer": "your_answer3",
  "correct": true
}];

$("#tblextendedresults tbody").prepend("<br>")

$.each(extendedResults, function(i) {
  $("#tblextendedresults tbody").append("<tr><td>" + extendedResults[i]["question"] + "</td><td>" + extendedResults[i]["your_answer"] + "</td><td>" + extendedResults[i]["correct"] + "</td></tr>")

  if (extendedResults[i]["correct"] == true) {
    $("#tblextendedresults tbody tr:last-child td:last-child").css("color", "green").html("Correct");
  } else {
    $("#tblextendedresults tbody tr:last-child td:last-child").css("color", "red").html("Incorrect");
  }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<table id="tblextendedresults">
  <thead>
    <th>Question</th>
    <th>Your answer</th>
    <th>Correct?</th>
  </thead>
  <br>
  <tbody></tbody>
</table>
&#13;
&#13;
&#13;