我试图首先清除所有类options
,然后使用相应的字母将一个类添加到选项中。这是我的功能:
function setAnswer(b, c){
$('#'+b+' .option').removeClass("answer");
$('#'+b+' .option'+c).addClass("answer");
}
和表格
<div id="belh" class="options">
<label>a.</label><input class="option optiona"><input onClick="setAnswer(this.parentnode.id, this.classname)" type="radio" class="a" name="answer">
<label>b.</label><input class="option optionb"><input onClick="setAnswer(this.parentnode.id, this.classname)" type="radio" class="b" name="answer">
<div class="clear"></div>
<label>c.</label><input class="option optionc"><input onClick="setAnswer(this.parentnode.id, this.classname)" type="radio" class="c" name="answer">
<label>d.</label><input class="option optiond"><input onClick="setAnswer(this.parentnode.id, this.classname)" type="radio" class="d" name="answer">
</div>
div 的 idbelh
动态变化,所以我传递给函数中的this.parentnode.id
变量b
,所以我可以这样做:
$('#'+b+' .option').removeClass("answer");
从所有选项元素中删除类
现在我传递this.classname
给c
所以我可以在这里使用字母 (a,b,c,d):
$('#'+b+' .option'+c).addClass("answer");
因此,如果单击带有类的单选框,则 div中具有类c
的所有字段都将丢失类答案(如果有的话)。然后带有类的字段将添加类。(因为:)。出于某种原因,我的功能不起作用。我想我以错误的方式传递变量。option
belh
optionc
answer
$('#'+b+' .option'+c).addClass("answer");