首頁  >  文章  >  web前端  >  對jQuery.data().用法的介紹及實例講解

對jQuery.data().用法的介紹及實例講解

巴扎黑
巴扎黑原創
2017-06-20 09:57:331108瀏覽

定義和用法

data() 方法向被選元素附加數據,或從被選元素取得數據。

註解:這是底層的方法;使用 .data() 比較方便。

從元素傳回資料

從被選元素中傳回附加的資料。

語法

$(selector).data(name)

參數               說明

name          可選下。規定要取回的資料的名稱。

如果沒有規定名稱,則該方法將以物件的形式從元素中傳回所有儲存的資料。

向元素附加資料

向被選元素附加資料。

文法

$(selector).data(name,value)

##$(selector).data(name,value)

$(selector).data(name,value)


$(selector).數據               說明

  name 名詞#   規定要設定的資料的名稱。    

value                   必要。規定要設定的數據的值。    使用物件將資料新增至元素附加資料

使用有名稱/值對的物件將資料新增至被選元素。
語法

$(selector).data(

object

)

我用的是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.

當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().用法的介紹及實例講解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn