jquery中prop()方法和attr()方法的區別

jquery1.6中新加了一個方法prop(),一直沒用過它,官方解釋只有一句話:獲取在匹配的元素集中的第一個元素的屬性值。 jquery

官方例舉的例子感受和attr()差很少,也不知道有什麼區別,既然有了prop()這個新方法,不可能沒用吧,那何時該用attr(),何時該用prop()呢? 瀏覽器

你們都知道有的瀏覽器只要寫disabled,checked就能夠了,而有的要寫成disabled = "disabled",checked="checked",好比用attr("checked")獲取checkbox的checked屬性時選中的時候能夠取到值,值爲"checked"但沒選中獲取值就是undefined。 async

jq提供新的方法「prop」來獲取這些屬性,就是來解決這個問題的,之前咱們使用attr獲取checked屬性時返回"checked"和"",如今使用prop方法獲取屬性則統一返回true和false。 spa

那麼,何時使用attr(),何時使用prop()?
1.添加屬性名稱該屬性就會生效應該使用prop();
2.是有true,false兩個屬性使用prop();
3.其餘則使用attr();
項目中jquery升級的時候你們要注意這點! code

如下是官方建議attr(),prop()的使用: ip

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() )
相關文章
相關標籤/搜索