一、遇到問題:
$(":radio").removeAttr('checked');
$(":radio").attr('checked','true');
實際問題:在使用removeAttr()移除了radio的checked屬性後,使用attr()重新增加不起作用;
二、解決:
方法1:
$(":radio").removeAttr('checked');
$("input:radio").prop('checked','true');
即使用prop()可重新配置上該屬性;
注意:具有 true 和 false 兩個屬性的屬性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr().
方法2:
$(':checkbox').each(function(){
this.checked=true;
});
attr爲失效?因爲checked屬於爲原型對象的屬性。而attr在remove原型對象時會出錯。原型對象指的是自身自帶的,無法移除。prop會忽略這個錯誤。而attr操作的是普通非原型對象(可移除)。js 的dom對象屬性是可以隨意增加的。