定義和用法
data() 方法向被選元素附加數據,或從被選元素取得數據。
註解:這是底層的方法;使用 .data() 比較方便。
從元素傳回資料
從被選元素中傳回附加的資料。
語法
$(selector).data(name)
參數 說明
name 可選下。規定要取回的資料的名稱。
如果沒有規定名稱,則該方法將以物件的形式從元素中傳回所有儲存的資料。
向元素附加資料
向被選元素附加資料。
文法
$(selector).data(name,value)
##$(selector).data(name,value)
$(selector).data(name,value)
name 名詞# 規定要設定的資料的名稱。
value 必要。規定要設定的數據的值。 使用物件將資料新增至元素附加資料
)
我用的是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產生的隨機數,它指向一個物件,物件裡面透過一個物件-value的形式儲存你新增的資料#for##-#in#for#-#in#for#for#in#出jQuery300082932543555993442,高版本只能透過debug工具查看了b.
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().用法的介紹及實例講解的詳細內容。更多資訊請關注PHP中文網其他相關文章!