ANP*_*ANP 7 jquery data-storage
任何人都可以告诉我jquery data()存储数据的位置以及何时删除数据以及如何删除数据?
如果我用它来存储ajax调用结果会有任何性能问题吗?
例如:
$("body").data("test", { myData: 'abcd'});
Run Code Online (Sandbox Code Playgroud)
Anu*_*rag 28
所有数据都存储在jQuery名为的对象的属性中cache.记录$.cache控制台中的内容以查看与任何DOM元素关联的所有数据和事件.
jQuery将DOM对象与此缓存中的对象链接的方式是通过操作DOM对象.假设我们有一个输入元素
<input type="text" value="hello" />
Run Code Online (Sandbox Code Playgroud)
它有一个名为"foo"的数据键
$(e).data("foo", "bar");
Run Code Online (Sandbox Code Playgroud)
现在jQuery维护一个表单的随机字符串jQuery<current time in ms>,例如,jQuery1291790929680也可以访问$.expando.jQuery将此expando字符串添加为具有关联数据项或事件的每个DOM对象的键.所以上面输入元素的DOM对象将包含这个具有一些整数值的expando键,例如:
jQuery1291790929680: 4
Run Code Online (Sandbox Code Playgroud)
图4仅是随机示例,但是该数字表示$.cache对象中的索引,其中存储该DOM对象的关联数据和事件.所以给定这些信息,要检索上述输入元素的数据,我们可以间接写:
$.cache[4]["foo"]
Run Code Online (Sandbox Code Playgroud)
应该返回"bar",这是一种间接的写作方式$(e).data("foo").
一个图示的例子中的上述无义的:)
查看jquery中的内容
jQuery.data() 方法允许我们以一种安全的方式将任何类型的数据附加到 DOM 元素,从而避免循环引用,从而避免内存泄漏。jQuery 确保通过 jQuery 方法删除 DOM 元素以及用户离开页面时删除数据。我们可以为单个元素设置多个不同的值并稍后检索它们:
| 归档时间: |
|
| 查看次数: |
3013 次 |
| 最近记录: |