cxiling / jQuery

0 stars 0 forks source link

jquery 中.data()赋值后仍不变的现象 #2

Open cxiling opened 9 years ago

cxiling commented 9 years ago

http://shouce.jb51.net/jquery/data.html

data([key],[value])

返回值:jQuerydata([key],[value])

概述

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

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

V1.4.3 新增用法NEW 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!;

http://www.jb51.net/article/51215.htm 就是说,data('sm','aa'); F12后发现data-sm的值不是aa,是原来的样子,这是因为,data只做缓存,jquery只把值赋给缓存,所以我们没看到,在元素节点上还没显示,其实是有的,console一下就看到啦

henry-fun commented 8 years ago

感谢朋友,解决了我这一大困惑!