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实现Select下拉列表进行状态选择功能
Mar 30 jQuery
基于jQuery实现的Ajax 验证用户名唯一性实例代码
Jun 28 jQuery
jQuery实现QQ空间汉字转拼音功能示例
Jul 10 jQuery
jQuery初级教程之网站品牌列表效果
Aug 02 jQuery
使用jQuery实现页面定时弹出广告效果
Aug 24 jQuery
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
Sep 23 jQuery
jQuery实现动态控制页面元素的方法分析
Dec 20 jQuery
jQuery实现监听下拉框选中内容发生改变操作示例
Jul 13 jQuery
使用jQuery实现掷骰子游戏
Oct 24 jQuery
JQuery常用选择器功能与用法实例分析
Dec 23 jQuery
jQuery实现的移动端图片缩放功能组件示例
May 01 jQuery
使用jquery实现轮播图效果
Jan 02 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
我的论坛源代码(一)
2006/10/09 PHP
PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
2012/04/09 PHP
PHP获取文件相对路径的方法
2015/02/26 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
2016/03/25 PHP
JQuery从头学起第二讲
2010/07/04 Javascript
图片在浏览器中底部对齐 解决方法之一
2011/11/30 Javascript
js如何调用qq互联api实现第三方登录
2014/03/28 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
JQuery中属性过滤选择器用法实例分析
2015/05/18 Javascript
JavaScript的类型、值和变量小结
2015/07/09 Javascript
基于socket.io+express实现多房间聊天
2016/03/17 Javascript
jQuery插件EasyUI实现Layout框架页面中弹出窗体到最顶层效果(穿越iframe)
2016/08/05 Javascript
使用jquery+iframe做一个ajax上传效果(实例)
2017/08/24 jQuery
基于vue-upload-component封装一个图片上传组件的示例
2018/10/16 Javascript
使用jquery Ajax实现上传附件功能
2018/10/23 jQuery
JavaScript Canvas编写炫彩的网页时钟
2019/10/16 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
[00:36]DOTA2上海特级锦标赛 LGD战队宣传片
2016/03/04 DOTA
python使用in操作符时元组和数组的区别分析
2015/05/19 Python
小小聊天室Python代码实现
2016/08/17 Python
python通过elixir包操作mysql数据库实例代码
2018/01/31 Python
Django跨域请求问题的解决方法示例
2018/06/16 Python
python定向爬虫校园论坛帖子信息
2018/07/23 Python
python实现扫描ip地址的小程序
2019/04/16 Python
网易2016研发工程师编程题 奖学金(python)
2019/06/19 Python
在Python中获取操作系统的进程信息
2019/08/27 Python
澳大利亚领先的在线葡萄酒零售商:Get Wines Direct
2018/03/27 全球购物
餐饮企业总经理岗位职责范文
2014/02/18 职场文书
公司总经理工作职责管理办法
2014/02/28 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
介绍信样本
2015/01/31 职场文书
劳动仲裁调解书
2015/05/20 职场文书
运动会广播稿20字
2015/08/19 职场文书
Python Django模型详解
2021/10/05 Python
Java 在线考试云平台的实现
2021/11/23 Java/Android
Go获取两个时区的时间差
2022/04/20 Golang