jquery - jQuery data() 存储

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

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

它有一个名为“foo”的数据键

$(e).data("foo", "bar");

现在 jQuery 维护了一个形式为 的随机字符串jQuery,例如 ,jQuery1291790929680它也可以通过$.expando. jQuery 将此 expando 字符串作为键添加到每个具有关联数据项或事件的 DOM 对象。因此,上述输入元素的 DOM 对象将包含这个带有一些整数值的 expando 键,例如:

jQuery1291790929680: 4

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

$.cache[4]["foo"]

它应该返回“bar”,这是一种间接的写法$(e).data("foo")。

上述废话的一个图解示例:)