码迷,mamicode.com
首页 > Web开发 > 详细

jQuery中attr和prop的区别

时间:2017-05-20 20:01:20      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:操作   情况   项目   更改   selected   query   状态   getattr   表示   

因为项目中经常会遇到使用attr和prop的情况。趁着有时间总结一下attr和prop的用法。

总结起来:

1.对于HTML元素本身所固有的属性,在处理时使用prop方法.

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

例如:

像checkbox,radio和select这样的元素,选中属性对应“checked”和“selected”,这些也属于固有属性,因此需要使用prop方法去操作才能获得正确的结果。

<input id="chk1" type="checkbox" />

$("#chk1").prop("checked") == false
$("#chk1").attr("checked") == undefined


延伸:
1.“attr”和“prop”分别是单词"attribute"和"property"的缩写,都表示属性的意思。但jquery中attr表示HTML文档对象的属性,property表示js文档对象的属性。
两者底层都是原生js对象的Element对象实现的。attr依赖Element对象的getAttribute()和setAttribute()方法实现。prop则是原生js中对象属性获取和设置的方法。jquery对其更好的封装,例如支持多个浏览器,设置多个属性等。
2.attr是jquery1.0就有的属性。prop()函数是1.6新增的。
3.jQuery认为:attribute的checkedselecteddisabled就是表示该属性初始状态的值,property的checkedselecteddisabled才表示该属性实时状态的值(值为truefalse)。在某些版本中,这些属性值表示文档加载时的初始状态值,
即使之后更改了这些元素的选中(或禁用)状态,对应的属性值也不会发生改变。

jQuery中attr和prop的区别

标签:操作   情况   项目   更改   selected   query   状态   getattr   表示   

原文地址:http://www.cnblogs.com/wenzhonghua/p/6882907.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!