以前的jQuery中,全部使用attr
来访问对象的属性,比如取一个图片的alt
属性,就可以这样做:$('#img').attr('alt')
;
但是在某些时候,比如访问checkbox
的disabled
属性的时候,会有些问题。在有些浏览器里,只要写了disabled
就可以,有些则要写:disabled="disabled"
。所以,从1.6开始,jQuery提供新的方法prop()
来获取这些属性。
使用prop()
的时候,返回值是标准属性,true
/false
,比如$('#checkbox').prop('disabled')
,不会返回disabled
或者,只会是
true
/false
。当然赋值的时候也是如此。如此,我们便统一了所有操作,无论是从语法上还是语义上。
那么,什么时候使用attr()
,什么时候使用prop()
?
1.只添加属性名称该属性就会生效的,应该使用prop()
;
2.只有true,false两个值的属性,应该使用prop()
;
3.其他则使用attr()
;