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