Javascript 输入元素的jQuery选择器中的变量';s值不起作用

Javascript 输入元素的jQuery选择器中的变量';s值不起作用,javascript,jquery,selector,Javascript,Jquery,Selector,快速总结:我正在用HTML做一个单页测验。它有4个单选按钮和4个标签。单击“下一步”按钮可替换测验中的问题和答案。每当用户单击“下一步”按钮时,我也会记录他们的回答。还有一点,但这是我代码的主要要点 下面是一些示例代码: <form name="form1"> <label for="ans0"> <input type="radio" name="answer" id="ans0" value=0> </label> <

快速总结:我正在用HTML做一个单页测验。它有4个单选按钮和4个标签。单击“下一步”按钮可替换测验中的问题和答案。每当用户单击“下一步”按钮时,我也会记录他们的回答。还有一点,但这是我代码的主要要点

下面是一些示例代码:

<form name="form1">
  <label for="ans0">
    <input type="radio" name="answer" id="ans0" value=0>
  </label>
  <input type="button" id="next" value="Next">
  <input type="button" id="back" value="Back">
</form>
在backClick()函数中,有问题的代码如下:

$("#form1 input[value=" + prevAns + "]").attr("checked", true);

我尝试在Chrome中调试它,alert(prevAns)每次都返回正确的值。如果我手动执行上述行,但使用实际数字而不是变量,例如,在控制台中,value='0',则该数字的单选按钮将按计划进行检查。所以我不知道怎么了,语法看起来正确吗?为什么不起作用?

您应该使用
prop
而不是
attr
来输入[type=radio]:

$("#selector").prop("checked", true)

尝试
prop()
而不是
attr()
,虽然这个代码片段可以解决这个问题,但确实有助于提高文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您代码建议的原因。@PatrickHund,感谢您的宝贵意见,我将在下一次回答时在帖子中添加解释。:)谢谢,我被难住了,因为用attr手动输入线路仍然有效
$("#form1 input[value='" + prevAns + "']").prop("checked", true);