jQuery - 根据答案更改 div 背景颜色

jQuery - changing div background-color depending on answer

我想根据答案改变背景颜色 我在页面内的标签中隐藏了正确答案。

 <label id="correctanswer" name="1" class="rb" style="display:none;">Tom</label>
 <label id="correctanswer" name="1" class="rb" style="display:none;">Liza</label>

我在代码中有 2 个问题(请检查 jsfiddle)

我想在用户标记相关答案后单击“提交”按钮后更改答案的背景颜色。

但是即使用户选择了正确的答案,背景颜色也会变红。

Also, I don't want it to look like this.

只有用户选择的答案的背景应该是绿色或红色,其他颜色不要改变。

I want it to look like this.

请检查代码;

http://jsfiddle.net/p9vgcuae/2/

这很混乱,但它有效,应该给你一个更合乎逻辑的方法。
基本上遍历所有已检查的输入并将用户输入与其正确答案进行比较,然后更改其背景颜色...

$('#correctAnswer').click(function() {
  var checkedInputs = $(this).parents().find(":checked")
  checkedInputs.each(function() {
    var answer = $(this).parent().parent().parent().find('#correctanswer').text()
    if ($(this).val() === answer) {
        $(this).parent().addClass('confirmed')
    } else {
        $(this).parent().css('background-color','red')
    }
  })
});

我建议您使用数据属性而不是 类 和 ID 来改进您的组织