首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在预定义集中插入动态项

在预定义集中插入动态项
EN

Stack Overflow用户
提问于 2020-02-27 12:55:32
回答 1查看 15关注 0票数 0

HTML

代码语言:javascript
复制
<button class='button' data-next="games" data-parent="games1" data-storage="128" data-graphcard="2" data-processor="i3">Click here</button>

Js。

代码语言:javascript
复制
let hardware = ["storage", "graphcard", "processor"];
const allButtonsToStore = document.querySelectorAll('.button');

allButtonsToStore.forEach((el, i) => {
  el.addEventListener('click', () => {
    hardware.forEach((item) => {
      console.log(`${el.dataset.item}`);
    });
  });
});

我要做的是从数组中获取每一项,并使用它在html中找到数据。

${el.dataset.*},其中‘*’=数组的项。

因此:获取数据集存储、图形卡和按钮处理器的值。这将是${el.dataset.storage}${el.dataset.graphcard}${el.dataset.processor}。为了不写入数组的所有项,我尝试获取数组中的所有项(hardware.forEach((item))并放入${el.dataset.item}

但是由于.`${el.dataset.item}`.被"“包围,所以我无法在"${el.dataset.”之后转义,插入实际的item并再次捕获它,以便用}发送行

我尝试过像${el.dataset."item"}${el.dataset.[item]}${el.dataset.(item)}之类的东西,但没有成功。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-27 12:58:44

您几乎得到了正确的答案:语法正确的括号表示法是${el.dataset[item]}-i.e,没有dataset[item]之间的额外.。见这里的概念证明:

代码语言:javascript
复制
let hardware = ["storage", "graphcard", "processor"];
const allButtonsToStore = document.querySelectorAll('.button');

allButtonsToStore.forEach((el, i) => {
  el.addEventListener('click', () => {
    hardware.forEach((item) => {
      console.log(`${el.dataset[item]}`);
    });
  });
});
代码语言:javascript
复制
<button class='button' data-next="games" data-parent="games1" data-storage="128" data-graphcard="2" data-processor="i3">Click here</button>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60433761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档