jQuery checkbox多次选中后失效

今天在做项目过程中使用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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、样式篇 第1章 初识jQuery (1)环境搭建 进入官方网站获取最新的版本 http://jquery.co...
    凛0_0阅读 3,506评论 0 44
  • 第一章 jQuery简介 1-1 jQuery简介 1.简介 2.优势 3.特性与工具方法 1-2 环境搭建 进入...
    mo默22阅读 1,634评论 0 11
  • jQuery基础(一)——样式篇 1-2环境搭建 1-3 jQuery HelloWorld体验 $(docume...
    croyance0601阅读 1,112评论 0 8
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,879评论 1 45
  • 目录 属性分为三种: js原生属性操作方法获取属性设置属性删除属性自定义数据属性 dataset获得自定义属性的值...
    顽皮的雪狐七七阅读 1,210评论 0 1