技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> JavaScript --> jQuery 设置复选框选中状态的 BUG

jQuery 设置复选框选中状态的 BUG

浏览:1293次  出处信息

   在以前, 如果想做一个全选和全不选的功能, 用 jQuery 非常简单, 就是设置 checked 属性. 但今天见鬼了, 以前能正常工作的代码无论如何也不能工作.

if(selectAll){
	$('input.cb').attr('checked', 'checked');
}else{
	$('input.cb').removeAttr('checked');
}

   这段代码只能工作一次, 但我可以发誓, 这段代码以前用得没问题! 然后我尝试这段代码:

$('input.cb').attr('checked', selectAll);

   也是只能工作一次.

   后来, 终于查明好像是 jQuery 的版本兼容问题, 我找出了下面的正确方法, 但不知道是不是兼容所有版本的 jQuery.

$('input.cb').prop('checked', cb.checked);

   兼容所有版本的正确方法:

// 兼容所有版本的正确方法
$('input.cb').each(function(i, e){
	e.checked = cb.checked;
});

   搜索了一下, jQuery 对于 attr() 和 prop() 有很大的争论.

建议继续学习:

  1. JQuery实现Excel表格呈现    (阅读:46522)
  2. 分享一个JQUERY颜色选择插件    (阅读:12650)
  3. jQuery插件---轻量级的弹出窗口wBox.    (阅读:9688)
  4. 10个强大的Ajax jQuery文件上传程序    (阅读:7757)
  5. jQuery的data()方法    (阅读:7585)
  6. jQuery性能优化指南    (阅读:7325)
  7. jQuery Color Animations颜色动画插件    (阅读:7088)
  8. 精于图片处理的10款jQuery插件    (阅读:6221)
  9. jQuery中getJSON跨域原理详解    (阅读:5621)
  10. 配合jquery实现异步加载页面元素    (阅读:5375)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1