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解析获取JSON数据
Apr 08 jQuery
Django1.7+JQuery+Ajax验证用户注册集成小例子
Apr 08 jQuery
详谈jQuery中使用attr(), prop(), val()获取value的异同
Apr 25 jQuery
jQuery实现动态给table赋值的方法示例
Jul 04 jQuery
解决html-jquery/js引用外部图片时遇到看不了或出现403的问题
Sep 22 jQuery
jQuery实现滚动效果
Nov 17 jQuery
jQuery 导航自动跟随滚动的实现代码
May 30 jQuery
jQuery阻止事件冒泡实例分析
Jul 03 jQuery
jQuery each和js forEach用法比较
Feb 27 jQuery
详解jQuery如何实现模糊搜索
May 10 jQuery
jquery实现垂直无限轮播的方法分析
Jul 16 jQuery
jQuery实现雪花飘落效果
Aug 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
PHP中的日期处理方法集锦
2007/01/02 PHP
PHP原生函数一定好吗?
2014/12/08 PHP
php封装的验证码工具类完整实例
2016/10/19 PHP
Js 获取HTML DOM节点元素的方法小结
2009/04/24 Javascript
window.onbeforeunload方法在IE下无法正常工作的解决办法
2010/01/23 Javascript
Javascript动画的实现原理浅析
2015/03/02 Javascript
jquery使用ul模拟select实现表单美化的方法
2015/08/18 Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
2016/12/12 Javascript
ES6新特性四:变量的解构赋值实例
2017/04/21 Javascript
Vue.js学习教程之列表渲染详解
2017/05/17 Javascript
Node.js 回调函数实例详解
2017/07/06 Javascript
利用Javascript实现一套自定义事件机制
2017/12/14 Javascript
webpack之引入图片的实现及问题
2018/10/08 Javascript
vue data有值,但是页面{{}} 取不到值的解决
2020/11/09 Javascript
[05:43]VG.R战队教练Mikasa专访:为目标从未停止战斗
2016/08/02 DOTA
跟老齐学Python之开始真正编程
2014/09/12 Python
python操作CouchDB的方法
2014/10/08 Python
Python使用pymysql小技巧
2017/06/04 Python
利用Python找出序列中出现最多的元素示例代码
2017/12/08 Python
Python实现查询某个目录下修改时间最新的文件示例
2018/08/29 Python
Python内置random模块生成随机数的方法
2019/05/31 Python
python实现静态服务器
2019/09/05 Python
python 实现矩阵填充0的例子
2019/11/29 Python
Python更新所有已安装包的操作
2020/02/13 Python
基于Python实现2种反转链表方法代码实例
2020/07/06 Python
python进度条显示-tqmd模块的实现示例
2020/08/23 Python
IE滤镜与CSS3效果(详细整理分享)
2013/01/25 HTML / CSS
详解css3 flex弹性盒自动铺满写法
2020/09/17 HTML / CSS
皇家阿尔伯特瓷器美国官网:Royal Albert美国
2020/02/16 全球购物
优秀学生事迹材料
2014/02/08 职场文书
销售顾问岗位职责
2014/02/25 职场文书
英语专业职业生涯规划范文
2014/03/05 职场文书
授权委托书协议书
2014/10/16 职场文书
水电工岗位职责
2015/02/14 职场文书
不同意离婚代理词
2015/05/23 职场文书
2019年12月24日平安夜祝福语集锦
2019/12/24 职场文书