老生常談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值為字符串類型,為數(shù)字、對象(var lol={}),是沒有意義的,value值可以為普通類型,當為引用類型時傳遞的是引用而不是克隆
a.
var obj = {"name":"寒冰射手","age":"12"};
$.data(obj,"height",165);
showMessage($.data(obj,"height"));
$.data實際將數(shù)據(jù)放在了對象屬性上,類似于obj.sex="女",無論你通過$.data添加幾個key給obj,在obj只會多出一個類似于jQuery300082932543555993442
300082932543555993442是jQuery產(chǎn)生的隨機數(shù),它指向一個對象,對象里面通過key-value的形式存儲著你添加的數(shù)據(jù)
低版本可以通過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將數(shù)據(jù)綁定在HTML DOM元素上,剩下的特性與$.data方法一樣,不過可以通過for-in得到添加的對象
以上這篇老生常談JQuery data方法的使用就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
鋒利的jQuery 要點歸納(二) jQuery中的DOM操作(下)
鋒利的jQuery 要點歸納(二) jQuery中的DOM操作(下)2010-03-03
js jquery獲取隨機生成id的服務(wù)器控件的三種方法
由于ASP.NET網(wǎng)頁運行后,服務(wù)器控件會隨機生成客戶端id,jquery獲取時候不太好操作,下面為大家整理了三種方法,感興趣的朋友可以參考下哈,希望對大家有所幫助2013-07-07

