关于jquery中attr()和prop()方法的区别
最近项目回归使用jquery,页面渲染全是使用jquery做的,所以做的时候也遇到了许多以前没有见过的问题,如这次操作【radio】控件的"checked"属性时有遇到问题,
$("...").attr("checked",false);
无法起到作用,上网查了下使用prop()完美的解决了该问题,特此记录一下。
官方定义:attr():
attr() 方法设置或返回被选元素的属性和值。
当该方法用于返回属性值,则返回第一个匹配元素的值。
当该方法用于设置属性值,则为匹配元素设置一个或多个属性/值对。
prop():
prop() 方法设置或返回被选元素的属性和值。
当该方法用于返回属性值时,则返回第一个匹配元素的值。
当该方法用于设置属性值时,则为匹配元素集合设置一个或多个属性/值对。
$('').attr()返回的是html对象
$('').prop()返回的是DOM对象
prop()
方法操作radio(checkbox)之类的控件,让其选中的时候,其控件选中的值也会随之改变。即既可以控制其选中,也能控制其取消选中;
类似于$("...").attr("checked");返回的是true或者false
如果有相应的属性,返回的是该属性,如果没有则返回空串
attr()
方法操作adio(checkbox)之类的控件,让其选中的时候,其控件选中的值不会随之改变。即只能控制其选中,不能控制其取消选中;
类似于$("...").attr("checked");返回的是'checked'或者undefined
如果有相应的属性,返回的是该属性,如果没有则返回undefined
attr和prop的使用场景:
1.添加属性名称该属性就会生效应该使用prop();
2.是有true,false两个属性使用prop();(如'checked','selected','disabled'等)
3.其他则使用attr();
官方推荐使用:
- jQuery .attr()和.removeAttr()方法操作元素属性示例
- jQuery使用attr()方法同时设置多个属性值用法实例
- jQuery中attr()和prop()在修改checked属性时的区别
- jQuery获取attr()与prop()属性值的方法及区别介绍
- Jquery attr()方法 属性赋值和属性获取详解
- jquery attr()设置和获取属性值实例教程
- 详谈jQuery操纵DOM元素属性 attr()和removeAtrr()方法
- jQuery中.attr()和.data()的区别分析
- 详谈jQuery中使用attr(), prop(), val()获取value的异同
- jquery更改元素属性attr()方法操作示例
相关文章
使用jQuery的ajax功能实现的RSS Reader 代码
Rss阅读器挺不错的。我觉得如果在igoogle或是dropthings这种形式的portal下来放很多RSS模块显示自己每天需要关注的信息那将会减少大家很多的打开浏览器和输入网址的时间。2009-09-09jQuery EasyUI API 中文文档 - ComboGrid 组合表格
jQuery EasyUI API 中文文档 - ComboGrid 组合表格,需要的朋友可以参考下。2011-10-10
最新评论