谁能告诉我 jquery data()
在哪里存储数据以及何时删除以及如何删除?
如果我用它来存储ajax调用结果,会有性能问题吗?
例如:
$("body").data("test", { myData: 'abcd'});
最佳答案
所有数据都存储在 jQuery
的属性内名为 cache
的对象。记录$.cache
的内容在控制台中查看与任何 DOM 元素关联的所有数据和事件。
jQuery 将 DOM 对象与此缓存中的对象链接起来的方式是通过操作 DOM 对象。假设我们有一个输入元素
<input type="text" value="hello" />
其中有一个名为“foo”的数据键
$(e).data("foo", "bar");
现在 jQuery 维护一个形式为 jQuery<current time in ms>
的随机字符串。 ,例如 jQuery1291790929680
,也可以通过 $.expando
访问。 jQuery 将此 Expando 字符串添加为具有关联数据项或事件的每个 DOM 对象的键。因此,上述输入元素的 DOM 对象将包含带有一些整数值的扩展键,例如:
jQuery1291790929680: 4
4 只是一个随机示例,但该数字表示 $.cache
中的索引。对象,其中存储该 DOM 对象的关联数据和事件。因此,给定这些信息,要检索上述输入元素的数据,我们可以间接编写:
$.cache[4]["foo"]
应该返回“bar”,这是一种间接的书写方式 $(e).data("foo")
.
安illustrated example以上废话:)
关于Jquery data() 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4384784/