老生常談JQuery data方法的使用
(-1)說明
我用的是chrome49,這個方法涉及到JQuery版本問題,我手里有3.0的,有1.9.1,后面將1.9.1及其以前的稱為低版本,3.0稱為高版本
測試例子用到的showMessage方法如下
showMessage.i = 0; function showMessage(object) { var body = $("body")[0]; var $p =$("#debugp"); if($p.length==0) { $p = $("<p/>").attr("id","debugp"); $(body).prepend($p); } $p[0].innerHTML += "<br/>"+(showAttribute.i++)+" | "+object; }
(0)$.data(obj,key,value)
key值為字符串類型,為數字、對象(var lol={}),是沒有意義的,value值可以為普通類型,當為引用類型時傳遞的是引用而不是克隆
a.
var obj = {"name":"寒冰射手","age":"12"};
$.data(obj,"height",165);
showMessage($.data(obj,"height"));
$.data實際將數據放在了對象屬性上,類似于obj.sex="女",無論你通過$.data添加幾個key給obj,在obj只會多出一個類似于jQuery300082932543555993442
300082932543555993442是jQuery產生的隨機數,它指向一個對象,對象里面通過key-value的形式存儲著你添加的數據
低版本可以通過for-in遍歷出jQuery300082932543555993442,高版本只能通過debug工具查看了
b.
當value是一個對象時,傳遞的是引用
var husband = ["蠻族之王"];
var obj = {"name":"寒冰射手","age":"12"};
$.data(obj,"husband",husband);
$.data(obj,husband)[0] = "遁地龍卷風";
showMessage($.data(obj,husband));//輸出 遁地龍卷風
(2)$(selector).data(key,value)
$("#lol").data("name","寒冰射手");
showMessage($("#lol").data("name"));
$(selector).data將數據綁定在HTML DOM元素上,剩下的特性與$.data方法一樣,不過可以通過for-in得到添加的對象
以上這篇老生常談JQuery data方法的使用就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
jQueryMobile之Helloworld與頁面切換的方法
這篇文章主要介紹了jQueryMobile之Helloworld與頁面切換的方法,實例分析了jQueryMobile的基礎用法,具有一定參考借鑒價值,需要的朋友可以參考下2015-02-02初學Jquery插件制作 在SageCRM的查詢屏幕隱藏部分行的功能
SageCRM的查詢條件屏幕的條件比較多,會占用界面,用戶希望首先顯示常用的查詢條件,然后點擊展開的按鈕,可以看到一些不常用的查詢條件2011-12-12