首页 > 代码库 > data([key],[value])

data([key],[value])

概述

在元素上存放或读取数据,返回jQuery对象。

当参数只有一个key的时候,为读取该jQuery对象对应DOM中存储的key对应的值,值得注意的是,如果浏览器支持HTML5,同样可以读取该DOM中使用 data-[key] = [value] 所存储的值。参见最后一个示例。

当参数为两个时,为像该jQuery对象对应的DOM中存储key-value键值对的数据。

如果jQuery集合指向多个元素,那将在所有元素上设置对应数据。 这个函数不用建立一个新的expando,就能在一个元素上存放任何格式的数据,而不仅仅是字符串。

V1.4.3 新增用法, data(obj) 可传入key-value形式的数据。

参数

keyStringV1.23

存储的数据名.

key,valueString,AnyV1.2.3

key:存储的数据名

value:将要存储的任意数据

objobjectV1.4.3

一个用于设置数据的键/值对

data()V1.4.3

示例

描述:

在一个div上存取数据

HTML 代码:
<div></div>
jQuery 代码:
$("div").data("blah");  // undefined
$("div").data("blah", "hello");  // blah设置为hello
$("div").data("blah");  // hello
$("div").data("blah", 86);  // 设置为86
$("div").data("blah");  //  86
$("div").removeData("blah");  //移除blah
$("div").data("blah");  // undefined

描述:

在一个div上存取名/值对数据

HTML 代码:
<div></div>
jQuery 代码:
$("div").data("test", { first: 16, last: "pizza!" });
$("div").data("test").first  //16;
$("div").data("test").last  //pizza!;

描述:

在HTML5规范中div中读取预存的data-[key]值

HTML 代码:
<div data-test="this is test" ></div>
jQuery 代码:
$("div").data("test"); //this is test!;


removeData([name|list])

概述

在元素上移除存放的数据

与 data([key], [value]) 函数作用相反

参数

[name]StringV1.2.3

存储的数据名

[list]Array,StringV1.7

移除数组或以空格分开的字符串

示例

描述:

从元素中删除之前添加的数据:

jQuery 代码:
$("#btn2").click(function(){
  $("div").removeData("greeting");
  alert("Greeting is: " + $("div").data("greeting"));
});
 

data([key],[value])