今天在做项目过程中使用jquery的attr属性完成一个功能及选择语音坐席的时候勾选语音及短信选项即
$("#voiceSeat").click(function(){
var isCheck=$(this).is(':checked');
if(isCheck){
$("#voice").prop({
"checked":true,
"disabled":true
});
$("#SMS").prop({
"checked":true,
});
}else{
$("#voice").prop({
"checked":false,
"disabled":false
});
$("#SMS").prop("checked":false);
$("#soundRecord").prop("checked":false);
$("#intelligent").prop("checked":false);
}
})
一开始使用的attr第二次就会失效,出现再也无法选中的情况。
到这里,问题答案找到了,就是使用 attr() 方法的问题,于是查看官方文档, 才知道从 jQuery 1.6 开始新增了一个方法 prop(),从中文意思看,两者分别是获取/设置 attributes 和 properties 的方法,在 jQuery 1.6 之前,使用 attr() 有时候会出现不一致的行为,所以才会增加 prop() 方法。
那么,什么时候使用attr(),什么时候使用prop()?
根据官方的建议:具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()。
可以了解下attr与prop的区别
http://www.runoob.com/jquery/html-prop.html