在使用Jquery实现全选以及反选的时候, 使用attr()实现的时候,在浏览器第一次运行可以全选,但是第二次再全选,不管用。

 通过查找资料,用 prop()方法代替attr()方法就行了。

 注意:  

Jquery 1.6之后,可以通过attr方法去获得属性,通过prop方法去获得特性.

在遇到要获取或设置checked,selected,readonly和disabled等属性时,用prop方法.

jquery1.6中新加了一个方法prop(),官方解释只有一句话:获取在匹配的元素集中的第一个元素的属性值。

大家都知道有的浏览器只要写disabled,checked就可以了,而有的要写成disabled = "disabled",checked="checked",比如用attr("checked")获取checkbox的checked属性时选中的时候可以取到值,值为"checked"但没选中获取值就是undefined。

jq提供新的方法“prop”来获取这些属性,就是来解决这个问题的,以前我们使用attr获取checked属性时返回"checked"和"",现在使用prop方法获取属性则统一返回true和false。

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

以下是官方建议attr(),prop()的使用:

Attribute/Property .attr() .prop()
accesskey  
align  
async
autofocus
checked
class  
contenteditable  
draggable  
href  
id  
label  
location ( i.e. window.location )
multiple
readOnly
rel  
selected
src  
tabindex  
title  
type  
width ( if needed over .width() )

以下是实现全选以及反选的Html代码,要引用Jquery脚本。Jquery1.6以上都行

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="jquery-1.9.1.js"></script>
</head>
<body>
<input type="checkbox" value="全选" id="cbAll" name="cbArea">全选<br/>
<input type="checkbox" value="洛龙区" name="a">洛龙区
<input type="checkbox" value="涧西区" name="a">涧西区
<input type="checkbox" value="吉利区" name="a">吉利区
<input type="checkbox" value="西工区" name="a">西工区
<input type="checkbox" value="宜阳县" name="a">宜阳县
<input type="checkbox" value="老城区" name="a">老城区
<input type="checkbox" value="回族区" name="a">回族区
<input type="checkbox" value="偃师" name="a">偃师
<input type="checkbox" value="哈哈区" name="a">哈哈区
<input type="checkbox" value="洛宁区" name="a">洛宁区 </body>
</html> <script type="text/javascript">
$(function () {
$("#cbAll").click(function () {
if($("#cbAll").is(":checked")) {
$(":checkbox").prop("checked",true);
}
else {
$(":checkbox").prop("checked", false);
} }); $(":checkbox").click(function () {
if (!$(this).is(":checked")) {
$("#cbAll").prop("checked", false);
} });
})
</script>

最新文章

  1. 【caffe】未定义函数或变量caffe_
  2. linux 多台 主机的免登录ssh的配置
  3. cf584a(水题)
  4. Erlang安装笔记
  5. 实例化(用new的方式)创建一个对象的顺序
  6. &lt;转&gt;windows下安装redis
  7. ashx ajax 与 自定义javascript函数
  8. vue 中获取select 的option的value 直接click?
  9. SpringBoot2.0之一 新建项目helloWorld
  10. .NETCore 基于 dbfirst 体验快速开发项目
  11. Visual Studio Code-批量在文末添加文本字段
  12. arcgis更改栅格数据范围
  13. .net缓存的应用研究(读篇)
  14. 哈希小demo hashCode取模
  15. HTML页面的重绘(repaint)和重流(reflow)
  16. 使用sass与compass合并雪碧图(二)
  17. Oracle性能优化之表压缩及并行提高效率的测试
  18. sqlserver 2008备份与还原
  19. iOS跳转到Touch ID设置界面
  20. (转)Inno Setup入门(二十一)——Inno Setup类参考(7)

热门文章

  1. 4 自动化构建工具gulp
  2. 【iOS开发】-NSString的扩展使用
  3. android 之EditText输入检測
  4. and or 逻辑组合
  5. Dancing Links 专题总结
  6. Android NDK生成及连接静态库与动态库
  7. gfnormal 域名 是阿里云的高防IP
  8. redhat修复hostname主机名
  9. AutoIT: 处理GridView控件的一些折中方法
  10. bzoj 3872 [ Poi 2014 ] Ant colony —— 二分