Jquery中attr()与prop()方法的差异
2014-01-22 13:59
281 查看
1.prop(propertyName) Returns:String or Boolean
官方描述:Get the value of a property for the first element in the set of matched elements.(获取匹配元素集合中第一个相匹配元素的值)
如果the value of protopy 没有被设置,则返回undefined.
注意:在IE6,7,8中试图通过此方法来改变通过HTML或者已经存在于HTML document中的input的元素的属性将会报错。
2.Attributes 与Properties 区别
在Jquery1.6之前,还没有prop()方法,我们通过attr()可以获取元素的属性值,但是这样会产生一些问题;
比如官方例子:
Jquery1.6之后呢,出现了porp()这个方法
总结:就是说,对于
and
官方描述:Get the value of a property for the first element in the set of matched elements.(获取匹配元素集合中第一个相匹配元素的值)
如果the value of protopy 没有被设置,则返回undefined.
注意:在IE6,7,8中试图通过此方法来改变通过HTML或者已经存在于HTML document中的input的元素的属性将会报错。
2.Attributes 与Properties 区别
在Jquery1.6之前,还没有prop()方法,我们通过attr()可以获取元素的属性值,但是这样会产生一些问题;
比如官方例子:
<input type="checkbox" checked="checked" /> elem.checked //return true(Boolean) elem.getAttribute("checked") //return "checked" $(elem).attr("checked") //(1.6)return "checked" $(elem).attr("checked") //(1.6.1+)return "checked" $(elem).attr("checked") //(pre-1.6)return true
Jquery1.6之后呢,出现了porp()这个方法
$(element).prop("checked") //return true
总结:就是说,对于
selectedIndex,
tagName,
nodeName,
nodeType,
ownerDocument,
defaultChecked,
and
defaultSelected元素,我们需要使用prop方法还获取其是boolean值,对于attr方法,我们修改的是其普通属性。在360急速模式下,使用attr("selected")将会产生错误,但调试器不会报错。此错误在IE10,chrome,firefox,opera中都不存在。
相关文章推荐
- JavaScript演示排序算法
- jQuery Ajax 跨域调用
- jquery教程靠边站,一分钱不花让你免费学会jquery
- JQuery+Strusts1.x无刷新登录
- 360.狗改不了吃屎?
- 网信办约谈360doc个人图书馆限期整改
- 通过Mootools 1.2来操纵HTML DOM元素
- JQuery 初体验(建议学习jquery)
- WEB标准网页布局中尽量不要使用的HTML标签
- Jquery实现的table最后一行添加样式的代码
- jQuery 练习[一] 学习jquery的准备工作
- jquery获得页面元素的坐标值实现思路及代码
- jquery如何实现在加载完iframe的内容后再进行操作
- jquery $.ajax()取xml数据的小问题解决方法
- jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
- Jquery 表单取值赋值的一些基本操作
- jQuery中的常用事件总结
- Flash 与 html 的一些实用技巧
- 23个超流行的jQuery相册插件整理分享
- html工作中表格<tbody>标签的使用技巧