无论单选按钮是否被选中, .is(':checked') 都会返回 false。这是我在调试时在 Chrome 控制台中玩的一些东西:
> $('#blah')
[<input type="radio" id="blah" name="blah_type" value="blah" class="styled" checked="checked">]
> $('#blah').removeAttr('checked')
[<input type="radio" id="blah" name="blah_type" value="blah" class="styled">]
> $('#blah').is(':checked')
false
> $('#blah').prop('checked', true)
[<input type="radio" id="blah" name="blah_type" value="blah" class="styled">]
> $('#blah').is(':checked')
false
> $('#blah').prop('checked')
true
> $('#blah').removeProp('checked')
[<input type="radio" id="blah" name="blah_type" value="blah" class="styled">]
> $('#blah').attr('checked', true)
[<input type="radio" id="blah" name="blah_type" value="blah" class="styled" checked="checked">]
> $('#blah').attr('checked')
"checked"
> $('#blah').prop('checked')
undefined
> $('#blah').is(':checked')
false
这里可能出了什么问题?我正在使用 jQuery 1.6.4。