今天在看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...