分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

jquery checkbox反复调用attr('checked', true/false)只有第一次生效

发布时间:2023-09-06 01:17责任编辑:白小东关键词:checkbox

 
  1. /** 
  2.   * 全选 
  3.   */  
  4.  function checkAll() {  
  5.      $("input[name=ids]").attr("checked", true);  
  6.  }  
  7.   
  8.  /** 
  9.   * 全不选 
  10.   */  
  11.  function uncheckAll() {  
  12.      $("input[name=ids]").attr("checked", false);  
  13.  }  

问题描述:

初始状态复选框没有全选,

点击全选按钮调用checkAll方法,

实现了全选,

然后点击全不选按钮,

实现了全不选,

然后再次点击全选按钮,

结果却木有全选,

再反复点击木有任何反应。

google之:

把使用prop方法代替attr方法,


 
  1. /** 
  2.  * 全选 
  3.  */  
  4. function checkAll() {  
  5.     $("input[name=ids]").prop("checked", true);  
  6. }  

成功了。

prop()获取匹配的元素的属性值。
这个方法是jquery1.6以后出来的,用来区别之前的.attr()方法.

区别最大的一点就是:布尔型的属性,1.6以后都是用.prop()方法就好了。
这个布尔型的属性,再解释一下,是属性值只有true|false的属性。
还有种情况就是只添加属性名,不需要写属性值的就可以生效的也同样使用.prop()方法。比如:checked、disable这样的,其实它们说到底还是属于布尔型的属性。

1.添加属性名称该属性就会生效应该使用prop();
2.是有true,false两个属性使用prop();
3.其他则使用attr();

jquery checkbox反复调用attr('checked', true/false)只有第一次生效

原文地址:http://www.cnblogs.com/yuanlaihenkuang/p/7675437.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved