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.
请检查代码;
这很混乱,但它有效,应该给你一个更合乎逻辑的方法。
基本上遍历所有已检查的输入并将用户输入与其正确答案进行比较,然后更改其背景颜色...
$('#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 来改进您的组织
我想根据答案改变背景颜色 我在页面内的标签中隐藏了正确答案。
<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.
请检查代码;
这很混乱,但它有效,应该给你一个更合乎逻辑的方法。
基本上遍历所有已检查的输入并将用户输入与其正确答案进行比较,然后更改其背景颜色...
$('#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 来改进您的组织