Jquery数据()存储

Jquery数据()存储,jquery,data-storage,Jquery,Data Storage,有谁能告诉我jquerydata()在哪里存储数据,何时删除数据以及如何删除数据 如果我使用它来存储ajax调用结果,是否存在性能问题 例如: $("body").data("test", { myData: 'abcd'}); 查看jquery中的内容 方法jQuery.data()允许我们将任何类型的数据附加到DOM元素,这种方式可以避免循环引用,从而避免内存泄漏。jQuery确保在通过jQuery方法删除DOM元素以及用户离开页面时删除数据。我们可以为单个元素设置几个不同的值,并在以后检

有谁能告诉我jquery
data()
在哪里存储数据,何时删除数据以及如何删除数据

如果我使用它来存储ajax调用结果,是否存在性能问题

例如:

$("body").data("test", { myData: 'abcd'});

查看jquery中的内容


方法jQuery.data()允许我们将任何类型的数据附加到DOM元素,这种方式可以避免循环引用,从而避免内存泄漏。jQuery确保在通过jQuery方法删除DOM元素以及用户离开页面时删除数据。我们可以为单个元素设置几个不同的值,并在以后检索它们:

所有数据都存储在名为
cache
jQuery
对象的属性中。在控制台中记录
$.cache
的内容,以查看与任何DOM元素关联的所有数据和事件

jQuery将DOM对象与缓存中的对象链接起来的方式是通过操作DOM对象。假设我们有一个输入元素

<input type="text" value="hello" />
现在,jQuery维护了一个格式为
jQuery
的随机字符串,例如
jQuery1291790929680
,也可以通过
$.expando
访问该字符串。jQuery将此expando字符串作为键添加到每个具有关联数据项或事件的DOM对象中。因此,上述输入元素的DOM对象将包含带有一些整数值的expando键,例如:

jQuery1291790929680: 4
4只是一个随机示例,但该数字表示
$.cache
对象中的索引,其中存储了此DOM对象的关联数据和事件。因此,给定这些信息,为了检索上述输入元素的数据,我们可以间接地写:

$.cache[4]["foo"]
它应该返回“bar”,这是一种间接写入
$(e).data(“foo”)


上面的一句废话:)

它只存储在客户端,我使用jquery数据和jquery元数据插件检索数据,从未遇到任何问题Thank@gov。但在下面的文章中提到data()将内容存储在缓存中。所以当缓存被清除的时候我很困惑@ANP转到这个页面,查看源代码并检查hiddenvalues,然后从浏览器中清除缓存,仍然可以看到这些值///它们作为dom结构it selef的一部分存储,我不认为它们存储在缓存中……非常感谢您的解释。
$.cache[4]["foo"]