javascript - 数据集属性不适用于对象?

标签 javascript object

el2.dataset.stuff = document.getElementById('el1');

好像不行。

稍后我需要能够访问 el1 的 innerHTML 属性。

el2.dataset.stuff = document.getElementById('el1').innerHTML;

可行,但我不喜欢在变量中存储重复内容的想法。如果我有很多元素,它会占用大量内存。

我猜是因为数据集需要字符串?如果是这样,我该如何设置对 el2 中另一个元素的引用?

最佳答案

实际上,您可以根据定义将字符串存储在 dataset 属性中。

所以在你的情况下,你应该有一个单独的数据结构(应该在两个需要的范围内都可以访问)来存储你的引用,如下所示:

var myPointers = {
  'el2': {
    'stuff': document.getElementById('el1')
  }
};

// later

var el1 = myPointers.el2.stuff;

或者您只存储 el1 的 id 并在需要时检索实际元素:

el2.dataset.stuff = 'el1';

// later 

var el1 = document.getElementById( el2.dataset.stuff );

关于javascript - 数据集属性不适用于对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16442150/

相关文章:

javascript - ASP.NET 从 Javascript 调用函数背后的代码

ruby 从对象写入 json 文件

javascript |对象分组

java - 使带有位置括号的对象类似于数组

javascript - 自动化工具提示功能 - 所以,可以使用 N 次

javascript - 手机网站滑动菜单默认不隐藏,可滚动

Java 如何创建唯一的对象名称?

javascript - 如何检查变量是对象还是数组?

javascript - fadeout 和 removechild 负载

javascript - WebWorker 计算慢速正则表达式匹配速度明显慢 (3x) - 仅限 firefox