使用javascript使用选择器更改类

使用javascript使用选择器更改类,javascript,html,css,Javascript,Html,Css,我是网络编程新手,我一直在尝试做一个真/假测试,当提交答案时,答案会根据正确与否而改变颜色 首先,我为每个输入使用标签: <h3>1. Father Christmas and Santa Claus are the same man</h3> <input type="radio" id="1bon" name="q1" value="Non" > <label for="1bon" > True </la

我是网络编程新手,我一直在尝试做一个真/假测试,当提交答案时,答案会根据正确与否而改变颜色

首先,我为每个输入使用标签:

<h3>1. Father Christmas and Santa Claus are the same man</h3>
     <input type="radio" id="1bon" name="q1" value="Non" >  
          <label for="1bon" > True </label> <!-- label is for css -->
     <input type="radio" id="1non" name="q1" value="Bon">
          <label for="1non"  > False </label><br/>
因此,当刚刚选中时,它是蓝色的,但当提交答案时,它会根据输入的值更改类的颜色:checked

用javascript中的选择器修改类的样式有什么方法吗? 此外,如果用户决定更改某个问题的答案,则复选框必须恢复为颜色中性


谢谢您的帮助。

如前所述,您可以使用此函数更改元素的类别。但若不使用第三方插件或自定义元素,则无法更改复选框的颜色。请检查这个


您可以根据事件的不同向元素添加/删除/切换类,并让相关css管理您所需的颜色代码。使用或
<h3>1. Father Christmas and Santa Claus are the same man </h3>       
     <input type="radio" class="input" id="1bon" name="q1" value="Non">  True 
     <input type="radio" class="input" id="1non" name="q1" value="Bon"> False 
.input {
background-color: #fff;
display:inline-block;
width:5%;
padding:10px;
border:1px solid #ddd;
margin-bottom:10px;
cursor:pointer; /* new selectoon type */
}
.input:checked{
background-color: #4876ff;
}
function Test2($this){
var radios = document.getElementsByName('q1');
for(i=0; i< radios.length; i++){
    var element = radios[i];
    element.classList.remove("correctAnswer");
    element.classList.remove("wrongAnswer");
}
if($this.value === "Non"){//Assume "Non" is correct answer
$this.classList.add("correctAnswer");
}else{
$this.classList.add("wrongAnswer");
}
}