Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.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 - Fatal编程技术网

Javascript 如何在dom元素数据属性上存储对对象的引用?

Javascript 如何在dom元素数据属性上存储对对象的引用?,javascript,Javascript,我想为dom树的某些元素保存对反映当前dom元素属性的特定对象的引用。每个元素可以对另一个对象有不同的引用,也可以引用相同的对象。因此,是否可以使用html5的数据属性,或者是否有其他方法在纯javascript(而不是jquery)中实现这一点 谢谢你的帮助 如果只是想存储静态属性,那么可以对每个dom元素使用setAttribute方法,如下所示 //Assume x is a dom node x.setAttribute( 'data-myproperty' , JSON.stringi

我想为dom树的某些元素保存对反映当前dom元素属性的特定对象的引用。每个元素可以对另一个对象有不同的引用,也可以引用相同的对象。因此,是否可以使用html5的数据属性,或者是否有其他方法在纯javascript(而不是jquery)中实现这一点


谢谢你的帮助

如果只是想存储静态属性,那么可以对每个dom元素使用
setAttribute
方法,如下所示

//Assume x is a dom node
x.setAttribute( 'data-myproperty' , JSON.stringify( your property object )  )
但是,如果您看到的是不可JSON编码的东西(或者不能表示为字符串),那么您必须考虑其他方法


jQuery数据方法实际上并不在dom元素本身上存储任何内容。它维护一个内部缓存,其中包含传递给它的所有数据。

我需要对该对象进行真正的引用,因为当多个元素引用同一个对象时,我更改其中一个元素的属性并在另一个元素上触发事件,它们必须反映相同的数据。然后,您必须维护一个单独的缓存,它可以像一个键值对一样简单(标识dom元素的东西:要针对它存储的对象)