Javascript 在不使用attr时,由Prop检查Radiobutton

Javascript 在不使用attr时,由Prop检查Radiobutton,javascript,jquery,html,Javascript,Jquery,Html,我正在使用基于文本框长度的jquery选择单选按钮。当我第一次使用道具选择单选按钮时,一切正常。但当我使用attr时,下面的场景会发生奇怪的事情 场景:当首先取消选中所有单选按钮,并且我使用jquery选择radiobutton时,它就工作了 但如果我选择另一个单选按钮并尝试选择上一个单选按钮,它将保持未选中状态 这里是道具的链接(一切正常): 以下是attr的链接(该链接不工作): 如果你说prop比attr好,那么当我们使用attr而不是prop时? 问题是“checked”是一个属性,而不

我正在使用基于文本框长度的jquery选择单选按钮。当我第一次使用道具选择单选按钮时,一切正常。但当我使用attr时,下面的场景会发生奇怪的事情

场景:当首先取消选中所有单选按钮,并且我使用jquery选择radiobutton时,它就工作了

但如果我选择另一个单选按钮并尝试选择上一个单选按钮,它将保持未选中状态

这里是道具的链接(一切正常):

以下是attr的链接(该链接不工作):

如果你说prop比attr好,那么当我们使用attr而不是prop时?

问题是“checked”是一个属性,而不是一个属性。


您必须使用.prop()设置它(或者作为本机HtmleElement上的属性查找)。

jQuery<1.6使用
attr
但是当我使用attr选择radiobutton时,它不会再次工作,为什么?因为之前选中的元素的
attribute
仍然存在。这意味着我们不应该使用attr,是吗?我不会说“永不”,但需要理解“是”,必须使用prop而不是attr来设置checked,否则重置时会有问题。
jsfiddle.net/Lo3qn6q8/
jsfiddle.net/hpmhxkdx/