【发布时间】:2020-12-12 10:43:21
【问题描述】:
我正在使用 jQuery 3.5.1。我有这个 HTML
<form>
<div><input type="radio" id="radio0" name="choice" >Text1</div>
<div><input type="radio" id="radio1" name="choice" >Text2</div>
<div><input type="radio" id="radio2" name="choice" >Text3</div>
<div><input type="radio" id="radio3" name="choice" >Text4</div>
我想更改单选按钮旁边的标签,所以我这样做了...
for (let i=0; i<choices.length; i++) {
$('#radio' + i).text(choices[i]);
$('#radio' + i).val(choices[i] == age ? CORRECT : INCORRECT);
$('#radio' + i).attr("checked", false);
}
但是,新标签不会出现在屏幕上。当我检查 Firefox(在 Mac 上)中的元素时,我看到了这个
<div><input type="radio" id="radio0" name="choice" value="incorrect">27
Text1</div>
<div><input type="radio" id="radio1" name="choice" value="incorrect">24
Text2</div>
<div><input type="radio" id="radio2" name="choice" value="incorrect">21
Text3</div>
<div><input type="radio" id="radio3" name="choice" value="correct">30
Text4</div>
<div id="feedback" style="display: none;"></div>
<div>
<input type="button" value="Submit" id="submitAnswer">
</div>
因此元素以某种方式被填充(“27”、“24”等),但旧元素仍然存在(“Text1”),屏幕上显示的是“Text-”标签而不是号码。构建 HTML/编写 jQuery 以更改单选按钮标签的正确方法是什么?
【问题讨论】:
标签: jquery radio-button label radio