Jquery中attr与prop的区别详解


Posted in jQuery onMay 27, 2017

实践过程

在前一段时间,同事做了一个页面,效果是这样的

Jquery中attr与prop的区别详解
页面

当点击左上方那个checkBox时,要将下面的checkBox全部选中,我们的代码是这样的

$("input[name='checkbox']").attr("checked",true);

然并卵,一点效果都没有,后来换成这样,好了

$(function(){
  $("#all").click(function(){
   if($("#all").prop("checked")){
    $("input[name='checkbox']").prop("checked",true);
   }else{
    $("input[name='checkbox']").prop("checked",false);
   }
  });
 });

于是上官方的文档查了下attr和prop的区别,发现根本看不懂,如下图

Jquery中attr与prop的区别详解

Jquery中attr与prop的区别详解

于是,我们做了个实验

c1:<input id="c1" name="checkbox" type="checkbox" checked="checked" /></br>
  c2:<input id="c2" name="checkbox" type="checkbox" checked=true/></br>
  c3:<input id="c3" name="checkbox" type="checkbox" checked=""/></br>
  c4:<input id="c4" name="checkbox" type="checkbox" checked/></br>
  c5:<input id="c5" name="checkbox" type="checkbox" /></br>
  c6:<input id="c6" name="checkbox" type="checkbox" checked=false/></br>

   var a1=$("#c1").attr("checked");
   var a2=$("#c2").attr("checked");
   var a3=$("#c3").attr("checked");
   var a4=$("#c4").attr("checked");
   var a5=$("#c5").attr("checked");
   var a6=$("#c6").attr("checked");

   var p1=$("#c1").prop("checked");
   var p2=$("#c2").prop("checked");
   var p3=$("#c3").prop("checked");
   var p4=$("#c4").prop("checked");
   var p5=$("#c5").prop("checked");
   var p6=$("#c6").prop("checked");

   console.log("a1:"+a1);
   console.log("a2:"+a2);
   console.log("a3:"+a3);
   console.log("a4:"+a4);
   console.log("a5:"+a5);
   console.log("a6:"+a6);

   console.log("p1:"+p1);
   console.log("p2:"+p2);
   console.log("p3:"+p3);
   console.log("p4:"+p4);
   console.log("p5:"+p5);
   console.log("p6:"+p6);

结果是这样的(chrome)

Jquery中attr与prop的区别详解
效果

发现attr的返回值要么是checked要么是undefined,prop的返回值只有true和false。

经过在网上搜素和测试总结

prop()函数的结果:

      1.如果有相应的属性,返回指定属性值。

      2.如果没有相应的属性,返回值是空字符串。

attr()函数的结果:

      1.如果有相应的属性,返回指定属性值。

      2.如果没有相应的属性,返回值是undefined。

对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。

对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。

具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop()

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

jQuery 相关文章推荐
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
Jun 09 jQuery
运用jQuery写的验证表单(实例讲解)
Jul 06 jQuery
jQuery实现打开网页自动弹出遮罩层或点击弹出遮罩层功能示例
Oct 19 jQuery
jQuery实现鼠标滑过商品小图片上显示对应大图片功能【测试可用】
Apr 27 jQuery
jQuery实现的页面详情展开收起功能示例
Jun 11 jQuery
jQuery实现获取动态添加的标签对象示例
Jun 28 jQuery
jQuery easyui datagird编辑行删除行功能的实现代码
Sep 20 jQuery
jQuery无冲突模式详解
Jan 17 jQuery
jQuery实现消息弹出框效果
Dec 10 jQuery
jQuery开发仿QQ版音乐播放器
Jul 10 jQuery
JS实现选项卡插件的两种写法(jQuery和class)
Dec 30 jQuery
jquery实现穿梭框功能
Jan 19 jQuery
jQuery插件imgAreaSelect基础讲解
May 26 #jQuery
jQuery插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一
May 26 #jQuery
jQuery导航条固定定位效果实例代码
May 26 #jQuery
bootstrap+jQuery实现的动态进度条功能示例
May 25 #jQuery
jQuery滚动插件scrollable.js用法分析
May 25 #jQuery
jQuery Masonry瀑布流布局神器使用详解
May 25 #jQuery
jQuery模拟实现天猫购物车动画效果实例代码
May 25 #jQuery
You might like
PHP stream_context_create()作用和用法分析
2011/03/29 PHP
php通过session防url攻击方法
2014/12/10 PHP
PHP浮点数精度问题汇总
2015/05/13 PHP
WordPress中查询文章的循环Loop结构及用法分析
2015/12/17 PHP
PHP实现动态创建XML文档的方法
2018/03/30 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
2006/11/30 Javascript
javascript+dom树型菜单类,希望朋友们一起进步
2007/05/03 Javascript
jquery选择器(常用选择器说明)
2010/09/28 Javascript
javascript 弹出的窗口返回值给父窗口具体实现
2013/11/23 Javascript
dreamweaver 8实现Jquery自动提示
2014/12/04 Javascript
Angular 2应用的8个主要构造块有哪些
2016/10/17 Javascript
JavaScript的事件机制详解
2017/01/17 Javascript
浅谈angular4生命周期钩子
2017/09/05 Javascript
JS手机端touch事件计算滑动距离的方法示例
2017/10/26 Javascript
微信小程序实现的贪吃蛇游戏【附源码下载】
2018/01/03 Javascript
详解从Vue-router到html5的pushState
2018/07/21 Javascript
微信小程序点击view动态添加样式过程解析
2020/01/21 Javascript
使用Node.js实现base64和png文件相互转换的方法
2020/03/11 Javascript
[03:37]2015国际邀请赛第四日现场精彩集锦
2015/08/08 DOTA
python读取Android permission文件
2013/11/01 Python
Python数组遍历的简单实现方法小结
2016/04/27 Python
python脚本替换指定行实现步骤
2017/07/11 Python
Django框架使用富文本编辑器Uedit的方法分析
2018/07/31 Python
Python实现判断一个整数是否为回文数算法示例
2019/03/02 Python
python requests抓取one推送文字和图片代码实例
2019/11/04 Python
Python input函数使用实例解析
2019/11/22 Python
python判断两个序列的成员是否一样的实例代码
2020/03/01 Python
Python3爬虫带上cookie的实例代码
2020/07/28 Python
matplotlib部件之套索Lasso的使用
2021/02/24 Python
募捐感谢信
2015/01/22 职场文书
郭明义观后感
2015/06/08 职场文书
《蟋蟀的住宅》教学反思
2016/02/17 职场文书
Python获取百度热搜的完整代码
2021/04/07 Python
Java Kafka 消费积压监控的示例代码
2021/07/01 Java/Android
python接口测试返回数据为字典取值方式
2022/02/12 Python