Jquery data()存储
任何人都可以告诉我jquery data()
存储数据的位置以及何时被删除以及如何删除?
如果我使用它来存储ajax调用结果,是否存在任何性能问题?
例如:
$("body").data("test", { myData: 'abcd'});
从jquery中查看内容
jQuery.data()方法允许我们以一种不受循环引用安全的方式将任何类型的数据附加到DOM元素,从而避免内存泄漏。 jQuery确保在通过jQuery方法删除DOM元素时以及当用户离开页面时删除数据。 我们可以为单个元素设置几个不同的值,并在以后检索它们:
所有数据都存储在名为cache
的jQuery
对象的属性中。 在控制台中记录$.cache
的内容,以查看与任何DOM元素关联的所有数据和事件。
jQuery将DOM对象与此缓存中的对象链接的方式是通过操作DOM对象。 假设我们有一个输入元素
它有一个名为“foo”的数据键
$(e).data("foo", "bar");
现在jQuery维护一个jQuery
forms的随机字符串,例如jQuery1291790929680
,也可以通过$.expando
访问。 jQuery将此expando字符串添加为具有关联数据项或事件的每个DOM对象的键。 所以上面输入元素的DOM对象将包含这个具有一些整数值的expando键,例如:
jQuery1291790929680: 4
4只是一个随机示例,但此数字表示$.cache
对象中的索引,其中存储了此DOM对象的关联数据和事件。 所以给定这些信息,要检索上述输入元素的数据,我们可以间接写:
$.cache[4]["foo"]
应该返回“bar”,这是写$(e).data("foo")
的间接方式。
以上废话:)的示例