Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript DOM元素的数据绑定是如何工作的?_Javascript_Jquery - Fatal编程技术网

Javascript DOM元素的数据绑定是如何工作的?

Javascript DOM元素的数据绑定是如何工作的?,javascript,jquery,Javascript,Jquery,我想知道,jquery如何在不添加任何HTML数据属性的情况下将任意数据与任何DOM元素相关联 $('#div_id').data('suffix',(count++)) ; 在firebug HTML快照中,我没有看到任何与HTML元素关联的数据属性 机制是什么 尽管HTML5不再需要这种数据存储方法,但我仍然不清楚jquery数据存储的实际机制。它向元素添加了一个属性,该属性包含一个数字值,表示jquery.cache对象中的索引,如下所示: $('#footer').data('suff

我想知道,jquery如何在不添加任何HTML数据属性的情况下将任意数据与任何DOM元素相关联

$('#div_id').data('suffix',(count++)) ;
在firebug HTML快照中,我没有看到任何与HTML元素关联的数据属性

机制是什么


尽管HTML5不再需要这种数据存储方法,但我仍然不清楚jquery数据存储的实际机制。

它向元素添加了一个属性,该属性包含一个数字值,表示jquery.cache对象中的索引,如下所示:

$('#footer').data('suffix',"suffix");
jQuery.cache[ $('#footer')[0][jQuery.expando] ].suffix;
//"suffix"
我使用了
“#footer”
,因为我在这个页面上运行了代码。请注意,
jQuery.cache[index]
的对象结构在也有jQuery绑定的事件的元素上是不同的


无论如何,您都不应该在代码中触及它,所以这并不重要。

JQuery向DOM元素添加了一个属性,该属性是它用来在内部哈希中查找内容的键


如果在与数据关联后检查firebug中的DOM元素或其他内容,您将看到JQueryxxxxxxx属性

可能它维护了内部哈希或其他内容。感谢Esailija的解释。