jQuery中的prop()与attr()的用法区别
2014-10-13 08:53
826 查看
attr()方法
一般jQuery中,获取或设置属性的值是通过attr()方法。如:返回文档中所有图像的src属性值:$(“img”).attr(“src”);
为所有图像设置src和alt属性:$(“img”).attr({ src: “test.jpg”, alt: “Test Image” });
prop()方法
而jquery的1.6版本中,增加了prop(),方法,有什么用意呢?大家都知道有的浏览器只要写disabled,checked就可以了,而有的要写成disabled = “disabled”,checked=”checked”,比如用attr(“checked”)获取checkbox的checked属性时选中的时候可以取到值,值为”checked”但没选中获取值就是undefined。jq提供新的方法“prop”来获取这些属性,就是来解决这个问题的,以前我们使用attr获取checked属性时返回”checked”和undefined,现在使用prop方法获取属性则统一返回true和false。
那么,我们的结论是
1.添加属性名称该属性就会生效应该使用prop();
2.是有true,false两个属性使用prop();如checked、selected、disabled
3.其他则使用attr();
prop()使用方法
语法:prop(name|properties|key,value|fn)获取在匹配的元素集中的第一个元素的属性值。
随着一些内置属性的DOM元素或window对象,如果试图将删除该属性,浏览器可能会产生错误。jQuery第一次分配undefined值的属性,而忽略了浏览器生成的任何错误
选中复选框为true,没选中为false:
1 | $("input[type='checkbox']").prop("checked"); |
1 2 3 | $("input[type='checkbox']").prop({ disabled: true }); |
12 | $("input[type='checkbox']").prop("disabled", false);$("input[type='checkbox']").prop("checked", true); |
1 2 3 | $("input[type='checkbox']").prop("checked", function( i, val ) { return !val; }); |
官方建议attr(),prop()的使用表
Attribute/Property | .attr() | .prop() |
---|---|---|
accesskey | √ | |
align | √ | |
async | √ | √ |
autofocus | √ | √ |
checked | √ | √ |
class | √ | |
contenteditable | √ | |
draggable | √ | |
href | √ | |
id | √ | |
label | √ | |
location ( i.e. window.location ) | √ | √ |
multiple | √ | √ |
readOnly | √ | √ |
rel | √ | |
selected | √ | √ |
src | √ | |
tabindex | √ | |
title | √ | |
type | √ | |
width ( if needed over .width()) | √ |
相关文章推荐
- jQuery中attr()、prop()、data()用法及区别
- 关于jQuery中的attr()与prop()的区别与用法
- jquery中prop()的用法和attr()的区别以及由此产生的一系列的问题总结(项目总结)
- jQuery中attr()、prop()、data()用法及区别
- jQuery中attr()与prop()函数用法实例详解(附用法区别)
- jQuery中attr()、prop()、data()用法及区别
- jQuery中attr()、prop()、data()用法及区别
- jQuery中attr()、prop()、data()用法及区别
- JQuery中attr()和prop()用法和区别
- jQuery中attr()与prop()函数用法实例详解(附用法区别)
- jQuery中attr()、prop()、data()用法及区别
- jquery中attr()与prop()函数用法实例详解(附用法区别)
- jQuery中attr()与prop()函数用法实例详解(附用法区别)
- jQuery中attr()、prop()、data()用法及区别
- jquery中prop()方法和attr()方法的区别
- jQuery学习之prop和attr的区别示例介绍
- jquery中attr和prop的区别
- jquery中prop()方法和attr()方法的区别【转】
- jQuery学习之prop和attr的区别
- jquery中prop和attr的区别有哪些