Javascript JQuery不允许我选择特定的单选按钮组

Javascript JQuery不允许我选择特定的单选按钮组,javascript,jquery,syntax,jquery-selectors,Javascript,Jquery,Syntax,Jquery Selectors,实际上,我可以通过将ID分配给我的单个单选按钮并以这种方式操作它们来解决我的问题,但我仍然感到困扰,我不明白为什么这不起作用 交易是这样的:假设我有两组单选按钮,看起来像这样: <input type="radio" name="RadioGroup1" id="Group1True" value="True" /> True <input type="radio" name="RadioGroup1" id="Group1False" value="False" />

实际上,我可以通过将ID分配给我的单个单选按钮并以这种方式操作它们来解决我的问题,但我仍然感到困扰,我不明白为什么这不起作用

交易是这样的:假设我有两组单选按钮,看起来像这样:

<input type="radio" name="RadioGroup1" id="Group1True" value="True" /> True
<input type="radio" name="RadioGroup1" id="Group1False" value="False" /> False

<input type="radio" name="RadioGroup2" id="Group2True" value="True" /> True
<input type="radio" name="RadioGroup2" id="Group2False" value="False" /> False
正如我所说,我能够通过引用ID而不是无线组名称来解决我的问题,但我仍然感到沮丧,因为我不知道为什么这不起作用


有人能告诉我吗?

您的选择器语法不正确

$('input[name="RadioGroup1"]').whatever();
事实上,我想这与其说是错误,不如说是错误;您的选择器在@name属性上查找一个值,而不是name

是id值,而不是名称,因此RadioGroup 1不适用于您

您也可以将checked属性设置为false,而不是.removeAttrchecked:

您还可以为单选按钮组指定一个类值,该值比使用元素名称更简洁:

$('input.radio-group-1')
或者别的什么。当然,这意味着更多的加价


我个人认为这是更好的方式;在处理DOM时,应该处理DOM对象属性,而不是元素属性。但是,删除该属性可能会起作用。

为什么要使用@?只需使用:radio[name=radiogroup 2],因为选择器CSS选择器语法与xpath不同。@ianpgall-帮我一个忙-请将此作为答案写下来,以便我可以将其标记为答案!!!不,别担心,其他人回答了同样的问题,但也提供了更多信息,我不担心答案是否正确,只是很高兴你得到了答案。我将添加到接受答案解释的链接,尽管:+1但是,attibute选择器中的@似乎来自较旧的jQuery版本,其中.prop还不可用。@pimvdb我已经使用jQuery很长时间了,我从来没有使用过@-我认为这是XSL/xpath的东西,但不是CSS语法。我知道是用于ID的;那是我的错别字。删除@是我一直在寻找的答案;我使用的参考文件使用了它,这就是为什么我把它放在那里。@RayK。是的,这就是为什么我涉及name属性的代码中没有@符号的原因。那里面有什么参考资料?看起来有点不可思议,因为它从来都不是正确的CSS选择器语法。@RayK。哇!好吧,我能理解你怎么会被它引入歧途;它看起来如此专业和权威:-
$('input[name="RadioGroup1"]').prop("checked", false);
$('input.radio-group-1')