繁星 jquery的data 方法

2022-02-19 10:22:01 字數 1361 閱讀 8750

今天在看jquery文件的時候偶然看到了data()方法,覺得挺好用的,這裡做個記錄。

這個方法用於在元素上存放資料,返回jquery物件。在文件中提到v1.4.3 新增用法new data(obj) 可傳入key-value形式的資料。這個方法的用法如下:

(1)在乙個div上訪問資料

1

//html**:

2<

div>

div>34

//jquery**:

5$("div").data("blah"); // undefined

6$("div").data("blah", "hello"); // blah設定為hello

7$("div").data("blah"); // hello

8$("div").data("blah", 86); // 設定為86

9$("div").data("blah"); // 86

10$("div").removedata("blah"); //移除blah

11 $("div").data("blah"); // undefined

(2)在div上訪問鍵值對

1

//html**:

2<

div>

div>34

//jquery**:

5$("div").data("test", );

6$("div").data("test").first //16;

7 $("div").data("test").last //pizza!;

這個方法用來在前端訪問資料看起來很方便,實際使用時還需注意以下問題:

(1)如果jquery集合指向多個元素,那將在所有元素上設定對應資料。 這個函式不用建立乙個新的expando,就能在乙個元素上存放任何格式的資料,而不僅僅是字串。

(2)當使用.data()獲取值時,jquery會首先嘗試將獲取的字串值轉化成js型別,包括布林值,null,數字,物件,陣列: 

若值是」true|false」,則返回相應的布林值; 

若值是」null」,則返回null; 

若值是純數字構成的字串(+data + 」」 === data),則返回相應的數字(+data); 

若值是由(?:\|\[[\s\s]*\])$,比如」「或[1,2,3],則嘗試使用jquery.parsejson解析之; 

否則返回字串值。

那麼,若想獲取字串值而不想獲得自動轉換的值,可以使用.attr(「data-」+key)來獲取相應的值,**示例如下:

1 var bieh = $(div).attr(「data-」+bieh)

jQuery筆記之data方法

成品圖如下所示 搭建html css結構 add sum 0 引入jquery檔案 開始寫js 1 模擬後端穿過來的資料 2var shoparr 3,24 25 shoparr.foreach function ele,index find p 獲取轉殖後元素裡面的p標籤 32 text ele....

zepto 和 jQuery 的data方法的區別

zepto坑之一,data和jquery的data方法有區別。眾所周知,data 方法很好用,而且效率相當不錯,如 tableid data style 就是讀取tableid上面的屬性data style的值。但是需要注意的點是 區分大小寫,且只能小寫,即,data 其中不管 是大小寫,讀取統一小...

對 jQuery 中 data 方法的誤解

一直以來都認為新版本中 data 是呼叫 dataset 實現的,對於低版本ie則採用 getattribute 其實一直是我誤解了,也不知道最初這個想法是怎麼來的。難道我被盜夢了?今天 謝亮 兄弟和我討論乙個東西的時候,談到了效能,他用的是 attr 操作自定義屬性 data uid,我說用 da...