javascript - 如何从选定对象的数组中获取数据属性值

标签 javascript dom

我的 HTML 有一些带有数据属性的 anchor 标记,如下所示:

<a href="#" class="color" data-colorValue="FF0000">Red</a>
<a href="#" class="color" data-colorValue="0000FF">Blue</a>
<a href="#" class="color" data-colorValue="00FF00">Green</a>

我的 JavaScript 代码需要为每个 anchor 标记添加一个点击事件监听器。当事件被触发时,我需要获取颜色值。我的代码如下。

const colors = document.querySelectorAll('.color');

for(let i = 0; i < colors.length; i++){
  colors[i].addEventListener('click', () => {
    console.log('test to see if click is working');
    console.log(this.dataset.colorValue);
  });
}

我收到错误消息“无法读取未定义的属性‘colorValue’”

最佳答案

使用 .getAttribute('data-colorValue');

const colors = document.querySelectorAll('.color').forEach(el => {
  el.addEventListener('click', e => {
    e.preventDefault();
    const color = el.getAttribute('data-colorValue');
    console.log(color);
  });
});
<a href="#" class="color" data-colorValue="FF0000">Red</a>
<a href="#" class="color" data-colorValue="0000FF">Blue</a>
<a href="#" class="color" data-colorValue="00FF00">Green</a>

关于javascript - 如何从选定对象的数组中获取数据属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57629637/

相关文章:

javascript - 如何一起使用 2 个指令 - Angular 翻译和 Angular chop ?

javascript - 如何从 Visual Studio Code API 打开浏览器

javascript - 为什么我会收到 ParseError?

php - 在 php 中解析 DOM(就像在 jQuery 中一样)

javascript - 如何设置一个对象函数等于另一个

javascript - Jquery:为什么这个if-else语句只跟随if或else,但当它们是可以满足的不同条件时不会跟随两者

javascript - 如何获取 iOS 的设备型号(例如 "iPhone3,1")?

javascript - if 函数 javascript 中只有 backgroundColor 样式不起作用

javascript - 为什么我无法清除 Javascript 中的事件监听器?

javascript - 是否可以在脚本位置可靠地插入 HTML 元素?