jQuery中 attr和 data的區別分析

時間 2021-07-08 20:47:16

1樓:匿名使用者

attr方法可以用來獲取jquery物件的屬性值,例如獲取物件jq的name屬性值:var v= jq.attr("name");

attr方法也可以用來設定屬性值,例如:jq.attr("name", "test");作用是把物件jq對應的html元素的name屬性值設定為test。

data方法用來獲取jquery物件上快取的資料或者在jquery物件上快取資料,快取的資料都是以key-value(鍵值對)形式儲存。例如:

var d = jq.data("mydata");可以在jquery物件jq上獲取key為mydata的快取資料。

jq.data("mk", "mv");可以在jquery物件jq上快取資料,鍵是mk,值是字串“mv”。

data可以快取任何js物件,例如字串、陣列、json等等。

需要注意的是,key(鍵)中的字母只能用小寫。

2樓:蔚藍海洋

看參考這個文件講述了prop,attr,data

jquery中.attr和.data的區別

3樓:匿名使用者

attr 是attribute的縮寫,言下之意,必須是放在dom標籤上的某個屬性資料,未必是html規定的

回屬性。如:test,href與role都是a標籤答的屬性(attribute)。

data是儲存在物件模型上的資料,事實上,jquery會在計算中開闢一塊記憶體來存放data資料,再明白點講,jquery物件自己有某個物件屬性存取所有標籤data,存取肯定有某個演算法能檢索到對應節點的資料。資料結構肯定是map型別的。演算法不清楚。

存放這種資料適合用kv結構,js對應的資料格式就是物件。關鍵點是鍵是如何算出來的。可能是jquery自己維護的一個鍵生成器。

也可能是能唯一表示該node節點物件的某個屬性。

data屬性在原生js,jq attr和jq data的不同表現

4樓:匿名使用者

jq attr 是頁面改變了值獲取的是新的值

jq data 是頁面載入後獲取的值存放在記憶體中,頁面如何改變都不會變更值,

jquery中.attr和.val的區別

5樓:網海1書生

.attr 可以獲得 id、class、type、value 的值

.val 則特指 value 的值

jquery中attr與pop的區別

6樓:陽陽

´對於html元素本身就帶有的固有屬性,在處理時,使用prop方法。´對於html元素我們自己自定義的dom屬性,在處理時,使用attr方法。

再舉一個例子:

是否可見

是否可見

像checkbox,radio和select這樣的元素,選中屬性對應“checked”和“selected”,這些也屬於固有屬性,因此需要使用prop方法去操作才能獲得正確的結果。

$("#chk1").prop("checked")== false

$("#chk2").prop("checked")== true

如果上面使用attr方法,則會出現:

$("#chk1").attr("checked")==undefined

$("#chk2").attr("checked")== "checked"

jquery中attr和prop的區別分析

7樓:育知同創教育

二者都可以獲取dom的屬性,但是引數不同:

attr : 獲取匹配的元素集合中的第一個元素的屬性的值 或 設定每一個匹配元素的一個或多個屬性。

.attr( attributename, value )

.attr( attributes )

.attr( attributename, function(index, attr) )

.attr( attributename )

.attr( attributename, value )

prop : 獲取匹配的元素集中第一個元素的屬性(property)值或設定每一個匹配元素的一個或多個屬性。

.prop( propertyname, value )

.prop( properties )

.prop( propertyname, function(index, oldpropertyvalue) )

.prop( propertyname )

.prop( propertyname, value )

attr傳入的是attributename,而prop傳入的是propertyname,現在我們的問題轉移了,我們需要研究的是attributename和propertyname之間的區別了。

attributes vs. properties

在這裡,可以將attribute理解為“特性”,property理解為為“屬性”從而來區分倆者的差異。 如果把dom元素看成是一個普通的object物件,這個物件在其定義時就具有一些屬性(property),比如把select的option當做一個物件:

var option =

現在,我們一目瞭然了,attribute是一個特性節點,每個dom元素都有一個對應的attributes屬性來存放所有的attribute節點,它是一個類陣列的容器。attributes的每個數字索引以名值對(name=”value”)的形式存放了一個attribute節點。而property就是一個屬性,是一個以名值對(name=”value”)的形式存放在object中的屬性。

jquery中attr的作用是什麼

attr 屬性方法 attr width 返回寬度。attr width 30px 設定寬度為30px 下面有個例子 document ready funciton jquery中attr的使用問題 15 jquery中 都是什麼作用代表了什麼 指識別符號,讓瀏覽器知道這是jquery。functi...

jquery中div div 和divfind div 和divdiv 有區別嗎

div div 這個中間有空格的為 後代選擇器,意思是 選擇 div元素內部所有div後代元素 div div 這個為 子代選擇器,意思是 選擇 div元素內部子代元素所有第一級div元素 當然,首先你的 div 就已經寫錯了,你的id都是等於 div1 div2 並沒有那個id是等於div的 符號...

jquery中的是什麼意思,jquery中加 是什麼意思

是 jquery 常用的一個回傳函式,定義為 選取 英文是 selector 的縮寫 例子 function 就是 選取 jquery 定義的 function 執行 input 就是 選取 html 當中全部的 input 標籤 abc 就是 選取 html 當中 id 名稱為 abc 的物件 f...