HTML/JS - 保存数据 - *以备后用

HTML/JS - 保存数据 - *以备后用

问题描述:

背景:我目前正在使用库坐标系统HTML-canvas。目前用户只能通过添加div特定类的元素来使用它。他应该能够使用div元素上的data-*属性自定义系统。HTML/JS - 保存数据 - *以备后用

我需要经常访问这些数据(例如在调整大小)。我循环遍历所有div与所述类(由document.getElementsByClassName返回)的数组,并使用element.getAttribute(name)读取数据来调整元素大小并进行进一步的操作。我认为总是再次读取数据(每个调整大小)并使用它并不是那么高效。随时存储数据并访问数据的好方法(良好实践/高效)是什么?我在想一个数组。我可以编写一个init()函数,该函数会将所有数据加载到每个data-*元素具有一个属性的对象以及一个用于容纳元素本身的额外元素。 在调整大小,我可以遍历数组中的所有对象,并执行我的操作...

因为我是JavaScript新手,我很高兴能够得到任何帮助。你对这种方法有什么看法?

+0

加载后执行attribs更改吗?如果不是,那么使用一个数组并使用一个'data-'来存储该对象数组的索引以查找与该元素相关联的数据。如果你总是需要做所有这些,你甚至不需要索引... – dandavis

+0

@dandavis数据不会改变,所以没有索引就没问题。如果你想写一个小答案,我会很高兴接受它:) – LastSecondsToLive

如果将document.getElementsByClassName另存为数组,则访问它们上的数据属性只是检索对象的属性。它只是在DOM上定位需要时间的元素。只要您存储该数组,循环快速。

+0

好吧,格里塔 - 我会和阵列一起去。 – LastSecondsToLive

+0

您对[this(jsfiddle)]有什么看法?](https://jsfiddle.net/xmshwrgt/6/) – LastSecondsToLive

+0

@LastSecondsToLive小提琴不起作用(Chrome PC),您是否需要建立上下文'getContext()'或者什么? – zer00ne