jq的attr 與prop 之間區別

2022-04-12 04:46:54 字數 621 閱讀 5347

1.attr() 一直存在,prop() 僅存在於 jq-1.6 及其之後

2.新版本jq使用細節:

2.1 自定義新增至dom節點的屬性,用attr獲取

2.2 表單類checked、selected或disabled操作使用prop

2.3 通過js操作屬性使用prop

3.原理:

3.1表單元素的checked、selected、disabled等屬性,在 jq-1.6 之前,attr()返回值為被選中(或禁用)就返回true,否則返回false。

但是從1.6開始,使用attr()獲取這些屬性的返回值為string型別,即如果被選中(或禁用)就返回checked、selected或disabled;否則(即元素節點沒有該屬性)返回undefined。

並且,在某些版本中,這些屬性值表示文件載入時的初始狀態值,即使之後更改了這些元素的選中(或禁用)狀態,對應的屬性值也不會發生改變。

3.2prop()函式的設計目標是用於設定或獲取指定dom元素(指的是js物件,element型別)上的屬性(property);

attr()函式的設計目標是用於設定或獲取指定dom元素所對應的文件節點上的屬性(attribute)。

JQ中prop與attr區別

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

jquery中attr 與prop 方法的區別

今天在做乙個核取方塊多選不選的時候發現在實現一次後勾選沒有效果。如下圖 明明顯示checked checked 但是卻沒勾選。詢問大牛告訴我用prop 代替attr 可用,不過我以前做的乙個demo是可以的 上面 確實可以。那是什麼原因造成我現在的專案用attr 不起作用呢?我發現上面 是在jque...

JQ中attr 和prop 的使用區別

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