Jquery data() 存储

标签 jquery data-storage

谁能告诉我 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/

相关文章:

database - 在哪里保存视频文件 - 数据库或磁盘

mysql - MySQL 中的二进制数据

android - 从 Android 访问 iOS 核心数据

java - 用Java存储个人数据的好方法?

javascript - 如何隔离第 3 方网站上的 Javascript?

javascript - Jquery 每个显示它的 div

jquery:表单提交/页面重新加载后隐藏/显示某些内容

android - 如何以编程方式将数据存储在Android设备的内存中

asp.net - jQuery Ajax 调用 HTTP 处理程序 (.ashx)

javascript - jQuery 可变高度