Javascript 如何在dom元素数据属性上存储对对象的引用?
我想为dom树的某些元素保存对反映当前dom元素属性的特定对象的引用。每个元素可以对另一个对象有不同的引用,也可以引用相同的对象。因此,是否可以使用html5的数据属性,或者是否有其他方法在纯javascript(而不是jquery)中实现这一点Javascript 如何在dom元素数据属性上存储对对象的引用?,javascript,Javascript,我想为dom树的某些元素保存对反映当前dom元素属性的特定对象的引用。每个元素可以对另一个对象有不同的引用,也可以引用相同的对象。因此,是否可以使用html5的数据属性,或者是否有其他方法在纯javascript(而不是jquery)中实现这一点 谢谢你的帮助 如果只是想存储静态属性,那么可以对每个dom元素使用setAttribute方法,如下所示 //Assume x is a dom node x.setAttribute( 'data-myproperty' , JSON.stringi
谢谢你的帮助 如果只是想存储静态属性,那么可以对每个dom元素使用
setAttribute
方法,如下所示
//Assume x is a dom node
x.setAttribute( 'data-myproperty' , JSON.stringify( your property object ) )
但是,如果您看到的是不可JSON编码的东西(或者不能表示为字符串),那么您必须考虑其他方法
jQuery数据方法实际上并不在dom元素本身上存储任何内容。它维护一个内部缓存,其中包含传递给它的所有数据。我需要对该对象进行真正的引用,因为当多个元素引用同一个对象时,我更改其中一个元素的属性并在另一个元素上触发事件,它们必须反映相同的数据。然后,您必须维护一个单独的缓存,它可以像一个键值对一样简单(标识dom元素的东西:要针对它存储的对象)