jq中attr()和prop 屬性的區別

2022-05-22 19:39:11 字數 1003 閱讀 9669

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

大家都知道有的瀏覽器只要寫disabled,checked就可以了,而有的要寫成disabled = "disabled",checked="checked",比如用attr("checked")獲取checkbox的checked屬性時選中的時候可以取到值,值為"checked"但沒選中獲取值就是undefined。

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

那麼,什麼時候使用attr(),什麼時候使用prop()?

1.新增屬性名稱該屬性就會生效應該使用prop();

2.是有true,false兩個屬性使用prop();

3.其他則使用attr();

專案中jquery公升級的時候大家要注意這點!

以下是官方建議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())

JQ中attr 和prop 的使用區別

1.attr 是獲取物件屬性的,比如獲取乙個的alt屬性 img attr alt 2.對於不用寫值的屬性比如 disabled selected checked 使用prop disabled在瀏覽器中寫法不一致,有些直接寫 disabled 有寫需要這樣寫 disabled disabled 使...

簡述jq中attr 和prop 的區別

attr,prop都是屬性的意思,那他們有什麼區別呢?我們先來看一下jquery的部分原始碼 attr部分 1 attr function elem,name,value,pass 8if pass jquery.isfunction jquery.fn name 11 fallback to pr...

JQ中prop與attr區別

一 attr和prop區別 attr 是從頁面搜尋獲得元素值,所以頁面必須明確定義元素才能獲取值,相對來說較慢。prop是從屬性物件中取值,屬性物件中有多少屬性,就能獲取多少值,不需要在頁面中顯示定義。二 attr和prop怎麼選擇?對於html元素本身就帶有的固有屬性,在處理時,使用prop方法。...