jQuery中attr 與prop 的區別

2021-09-02 05:22:24 字數 1938 閱讀 2942

write by monkeyfly

jquery裡,我們要獲取乙個標籤元素的屬性,可以用attr()方法或者prop()方法,那麼兩者有什麼區別呢?

注:單純從定義看的話,兩個方法的作用都是一樣的。而且用法也都差不多,如下所示。

作用一:返回被選元素的屬性值。語法如下:

$

(selector)

.attr

(attribute)

$(selector)

.prop

(property)

作用二:設定被選元素的屬性和值。語法如下:

$

(selector)

.attr

(attribute,value)

$(selector)

.prop

(property,value)

作用三:設定多個屬性和值。語法如下:

$

(selector)

.attr()

//物件的寫法,鍵值對

$(selector)

.prop()

//物件的寫法,鍵值對

作用四:使用函式設定屬性和值。語法如下:(平時很少用到)

//第二個引數:規定返回要設定的屬性值的函式。

/*該函式包括兩個引數:

* index - 檢索集合中元素的 index 位置。

* oldvalue / currentvalue - 檢索被選元素的當前屬性值。*/$

(selector)

.attr

(attribute,

function

(index,oldvalue))$

(selector)

.prop

(property,

function

(index,currentvalue)

)

我們會發現:propertyattribute的 區別

由此可見,兩者非常容易混淆,因為在中文上的翻譯都特別接近。但實際上,它們兩個是不同的東西,屬於不同的範疇。

現在,我們知道了:

對應到js中就是:

對應到jquery中就是:

獲取影象的 class 屬性值button

>

$

("button").

click

(function()

);

type

="checkbox"

>

>

獲取核取方塊的選中狀態button

>

$

("button").

click

(function()

);

如果要從根源上弄清楚二者的區別,可以參考下面這篇博文,分析的特別到位。

js中attribute和property的區別

jquery中attr 與prop 區別

我們知道jquery中獲取元素屬性有兩種常見的方法,乙個是attr 方法,這個是用的比較多的,也是我們第乙個想到的。另外乙個就是prop 方法了,這個方法之前很少用到,它是jquery1.6之後新增的方法。那麼這兩個方法都是獲取屬性的,那麼神馬區別呢?閒話不多說,下面我們就來說說。首先從單詞解釋來說...

jquery中attr 與prop 的區別

在jquery中,這兩個方法都是用來獲取元素的屬性的,他們的區別之處在 呢?我們知道,在html中,有部分屬性是只需要新增屬性名即可生效的,如checked,disable等,對於這些屬性,如果使用attr方法的時候難免會出意外,所以在1.6版本之後,jquery使用了新方法prop 來獲取他們,使...

JQuery中css與attr的比較

我們在使用jq的css與attr兩個函式會不會經常搞混淆呢,下面就我就談談我在使用兩者的經驗。boj attr src image aa.jpg 這樣不禁讓我們很困惑,是不是attr可以設定物件的屬性height,width等呢?答案是不可能的。attr是設定和獲取屬性值的,比如現在有乙個div,內...