用prop还是attr
jquery中attr和prop的区别
在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了。
关于它们两个的区别,网上的答案很多。这里谈谈我的心得,我的心得很简单:
- 对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。
- 对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。
上面的描述也许有点模糊,举几个例子就知道了。
<a href="http://www.baidu.com" target="_self" class="btn">百度</a>
这个例子里<a>元素的DOM属性有“href、target和class",这些属性就是<a>元素本身就带有的属性,也是W3C标准里就包含有这几个属性,或者说在IDE里能够智能提示出的属性,这些就叫做固有属性。处理这些属性时,建议使用prop方法。
<a href="#" id="link1" action="delete">删除</a>
这个例子里<a>元素的DOM属性有“href、id和action”,很明显,前两个是固有属性,而后面一个“action”属性是我们自己自定义上去的,<a>元素本身是没有这个属性的。这种就是自定义的DOM属性。处理这些属性时,建议使用attr方法。使用prop方法取值和设置属性值时,都会返回undefined值。
再举一个例子:
<input id="chk1" type="checkbox" />是否可见<input id="chk2" type="checkbox" checked="checked" />是否可见
像checkbox,radio和select这样的元素,选中属性对应“checked”和“selected”,这些也属于固有属性,因此需要使用prop方法去操作才能获得正确的结果。
$("#chk1").prop("checked") == false $("#chk2").prop("checked") == true
如果上面使用attr方法,则会出现:
$("#chk1").attr("checked") == undefined $("#chk2").attr("checked") == "checked"
用prop还是attr相关推荐
- Difference between prop and attr in different version of jquery
jQuery <1.9 $('#inputId').attr('readonly', true); jQuery 1.9+ $('#inputId').prop('readonly', true ...
- jquery1.6中的.prop()和.attr()异同
1.从1.5.2升级到1.6.1 通过介绍新方法.prop()以及.attr()方法的改变,jQuery1.6.1引起了一场关于attributes和properties之间有何区别和联系的激烈讨论. ...
- prop和attr的区别-jQuery
今天简单说下prop和attr在设置,获取和删除属性时的区别: 1.设置属性 为了便于看到效果,先在网页中写入ul标签,里面插入属性title,如下: <ul><li title=& ...
- Jq中prop()和attr()之间的区别
今天在写复选框的全选和不全选中发现了一个问题,prop和attr这两个方法看起来十分相似,但是实际上还是有着一定的区别的.比如在判断复选框的checked这个属性的时候,使用attr取值和prop取值 ...
- JQ中prop与attr区别
功能:获取匹配的元素集中第一个元素的属性(property)值或设置每一个匹配元素的一个或多个属性. 一.attr和prop区别 attr 是从页面搜索获得元素值,所以页面必须明确定义元素才能获取值, ...
- javascript prop和attr的区别
在网上找了一些资料,通过自己去寻找,尝试,此次做一次总结. 1/ attr()是jQuery 1.0版本就有的函数, prop()是jQuery 1.6版本新增的函数.毫无疑问,在1.6之前, ...
- $.prop()和$.attr() 区别用法
都用于读取和设置DOM元素节点的属性 不同: $.attr()用于DOM元素本身的属性 $.prop()用于DOM节点对应的JS属性(源于DOM元素到JS对象的映射) 源于两者在jquery类库的实现 ...
- prop()和attr()
attributes和properties(属性值)之间的差异在特定情况下是很重要.jQuery 1.6之前 ,.attr()方法在取某些 attribute 的值时,会返回 property 的值, ...
- jquery中prop()和attr()的使用
jquery1.6+出现的prop()方法. • 对于HTML元素本身就带有的固有属性,在处理时,使用prop方法. • 对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法. • ...
最新文章
- 开发Eclipse自定义控件
- 机器学习系列之EM算法
- currentdate mysql_Mysql】Mysql中CURRENT_TIMESTAMP,CURRENT_DATE,CURRENT_TIME,now(),sysdate()各项值的区别...
- 数据挖掘之关联分析七(非频繁模式)
- 201621123003《Java程序设计》第一周学习总结
- 大数据之-Hadoop3.x_MapReduce_切片源码分析---大数据之hadoop3.x工作笔记0104
- AD画封装的血泪教训:有叉的放在外侧
- Win7如何设置标准账号无法访问我的D盘
- whoami 显示“我是谁”
- 台式计算机硬件的拆装,电脑拆解实例:苹果台式机拆机换盘详细步骤!
- Java数组怎么传给形参_在Java程序中,如果方法的形参是数组,则调用该方法时传递的是数组的...
- supervise进程管理利器
- 蚀刻后残留物和光刻胶去除技术
- RAR文件格式-笔记
- 数据仓库、数据集市和数据湖有什么区别?
- 网易2018校园招聘:射击游戏 [python]
- RTSP协议学习笔记
- 30岁IT人裸辞,悔断肠!
- html文字冒险游戏,文字类谍战交互游戏能有这么好玩?全靠这部超神原作
- java 去掉pdf文字_Java 添加和删除PDF图层
热门文章
- Halcon知识: 矩形测量
- php服务器队列执行,lnmp php添加队列服务器的配置
- matlab 直方图_MATLAB作图实例:19:用二元直方图分析图片颜色
- html 跨域_常见跨域解决方案以及Ocelot 跨域配置
- 2021-01-07 python opencv调节图片亮度与对比度
- python读取配置文件简单封装
- python3 bytes和str转换,解决图片base64调用api的问题
- 数据结构实验之二叉树四:(先序中序)还原二叉树
- Caffe学习系列(3):视觉层(Vision Layers)及参数
- Spring IOC 容器源码分析 - 填充属性到 bean 原始对象