100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > jQuery 设置 checkbox 单选/复选框 attr 不可行 prop 才是正确答案

jQuery 设置 checkbox 单选/复选框 attr 不可行 prop 才是正确答案

时间:2021-07-23 23:33:08

相关推荐

jQuery 设置 checkbox 单选/复选框 attr 不可行 prop 才是正确答案

jQuery 设置 checkbox 单选/复选框,attr 不可行,prop 才是正确答案

今天通过百度查到一些用 jQuery 设置 checkbox 的方法,绝大部分都是用 attr,但是胡出现离奇的 BUG,脑壳儿疼:

第一次可以正确选中,但是第二次,和上一次一样,不会再更新。刷新后,第一次还是正确。

解决方案:

使用 prop 不使用 attr !

用代码解释:

//判断 checkbox 是否被选中 if($(this).is(":checked")){alert('选中'); } else{alert('未选中'); } //通过 id 修改选中的选项$("#emp_sex2").prop("checked", true);//用 jquery 全选所有 class 为 listbox 的 checkbox $(".listbox").prop("checked", true); //用 jquery 取消所有 class 为 listbox 的 checkbox 的选中 $(".listbox").prop("checked", false);

jQuery 中 attr 和 prop 方法的区别

prop 是 jquery1.6 新增的方法,其与 attr 的用法极为相似。由于不理解他们的根本区别,难免产生离奇的 BUG。

通过分析 attr 和 prop 的源码,得知:

attr 方法里面,最关键的两行代码,elem.setAttribute( name, value + “” ) 和 ret = elem.getAttribute( name ),很明显的看出来,使用的 DOM 的 API setAttribute 和 getAttribute 方法操作的属性元素节点。

而 prop 方法里面,最关键的两行代码,return ( elem[ name ] = value ) 和 return elem[ name ],你可以理解成这样 document.getElementById(el)[name] = value,这是转化成 JS 对象的一个属性。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。