解决jquery操作checkbox火狐下第二次无法勾选问题


Posted in Javascript onFebruary 10, 2014

最近在工作中使用jquery操作checkbox,使用下面方法进行全选、反选:

var ischecked=allCheckObj.is(':checked'); 
ischecked?checksObj.attr('checked',true):checksObj.attr('checked',false);

调试时在ie没有问题,考虑到兼容性,试试了firefox,遇到了问题。于是乎,做了如下实验:
复选框绑定了click事件,点一次选中,再点击取消选中,依次类推。这个功能在ie中没问题,但是在firefox中测试的时候,前两次都没有问题,可以正常显示选中和取消,但当再去选中的时候,复选框的属性checkbox值变为"checked",没问题,但是复选框却不在显示选中状态,明明属性值改了,但是却不显示勾选,太诡异了。代码修改了却得不到正确的显示状态,纠结了很久,找不到原因。
正解:后来经偶像指点,原来是jQuery版本问题。我操作属性用的是
$("**").attr("attrName");而jQuery的版本用的是1.9,这就是存在一个兼容性和稳定性问题。
jQuery API明确说明,1.6+的jQuery要用prop,尤其是checkBox的checked的属性的判断,即
$("input[type='checkbox']").prop("checked"); 
$("input[type='checkbox']").prop("disabled", false); 
$("input[type='checkbox']").prop("checked", true);

在使用是将attr改为prop,问题得解。
你遇到这个奇怪的问题了吗?赶紧试试吧
Javascript 相关文章推荐
jquery中对表单的基本操作代码
Jul 29 Javascript
JS实现多物体缓冲运动实例代码
Nov 29 Javascript
Javascript 实现图片无缝滚动
Dec 19 Javascript
使用travis-ci如何持续部署node.js应用详解
Jul 30 Javascript
Javascript中parseInt的正确使用方式
Oct 17 Javascript
JavaScript实现的级联算法示例【省市二级联动功能】
Dec 25 Javascript
vue中 this.$set的用法详解
Sep 06 Javascript
vue 实现购物车总价计算
Nov 06 Javascript
原生js实现拖拽移动与缩放效果
Aug 24 Javascript
JavaScript 如何在浏览器中使用摄像头
Dec 02 Javascript
vant时间控件使用方法详解
Dec 24 Javascript
聊聊JS ES6中的解构
Apr 29 Javascript
js判断undefined类型示例代码
Feb 10 #Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
Feb 10 #Javascript
js网页实时倒计时精确到秒级
Feb 10 #Javascript
js格式化时间和js格式化时间戳示例
Feb 10 #Javascript
javaScript 页面自动加载事件详解
Feb 10 #Javascript
页面图片浮动左右滑动效果的简单实现案例
Feb 10 #Javascript
点击弹出层效果&弹出窗口后网页背景变暗效果的实现代码
Feb 10 #Javascript
You might like
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
MOTOROLA 摩托罗拉 MODEL 66-XI五灯中波收音机
2021/03/02 无线电
手把手教你使用DedeCms V3的在线采集图文教程
2007/04/03 PHP
php递归创建和删除文件夹的代码小结
2012/04/13 PHP
ThinkPHP3.2.2的插件控制器功能简述
2014/07/09 PHP
php set_include_path函数设置 include_path 配置选项
2016/10/30 PHP
PHP封装返回Ajax字符串和JSON数组的方法
2017/02/17 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
2017/09/28 PHP
Laravel 框架路由原理与路由访问实例分析
2020/04/14 PHP
JS中简单的实现像C#中using功能(有源码下载)
2007/01/09 Javascript
Mootools 1.2教程(21)——类(二)
2009/09/15 Javascript
js 赋值包含单引号双引号问题的解决方法
2014/02/26 Javascript
详解javascript实现自定义事件
2016/01/19 Javascript
AngularJS中$interval的用法详解
2016/02/02 Javascript
jQuery获取父元素及父节点的方法小结
2016/04/14 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
三分钟学会用ES7中的Async/Await进行异步编程
2018/06/14 Javascript
jquery 通过ajax请求获取后台数据显示在表格上的方法
2018/08/08 jQuery
vscode 插件开发 + vue的操作方法
2020/06/05 Javascript
[01:13:46]iG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python基于pygame实现的弹力球效果(附源码)
2015/11/11 Python
对python中if语句的真假判断实例详解
2019/02/18 Python
Python判断字符串是否为空和null方法实例
2020/04/26 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
2021/01/29 Python
HTML5新增加的功能详解
2016/09/05 HTML / CSS
eDreams意大利:南欧领先的在线旅行社
2018/11/23 全球购物
个人生活学习自我评价范文
2013/11/26 职场文书
班组长岗位职责
2014/03/03 职场文书
医学生职业生涯规划书范文
2014/03/13 职场文书
学习雷锋倡议书
2014/04/15 职场文书
通信工程专业求职信
2014/06/04 职场文书
签字仪式主持词
2015/07/03 职场文书
公司宣传语大全
2015/07/13 职场文书
2015年高三毕业班班主任工作总结
2015/10/22 职场文书
Vue OpenLayer测距功能的实现
2022/04/20 Vue.js
浅谈css清除浮动(clearfix和clear)的用法
2023/05/21 HTML / CSS