Javascript DOM元素的数据绑定是如何工作的?
我想知道,jquery如何在不添加任何HTML数据属性的情况下将任意数据与任何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
$('#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的解释。