javascript - 获取值数据属性 native Javascript

标签 javascript

我使用原生js,我需要从我点击的所有元素的数据属性中获取值。

window.onload = function() {

    let btn = document.getElementsByClassName('btn');

    for( let i = 0; i < btn.length; i++ ) {
        btn[i].addEventListener( "click" , function(e) {
            let dataBtn = e.getAttribute('data-btn');
            console.log(dataBtn);
        });
    }

};

但是我收到错误(e.getAttribute 不是函数)

我可以在原生js中获取并使用它吗?

最佳答案

您可以通过调用 this.getAttribute('data-btn') 或在事件处理函数中访问当前点击元素的 'data-btn' 属性也可以通过调用 btn[i].getAttribute('data-btn');

代码:

let btn = document.getElementsByClassName('btn');

for (let i = 0, len = btn.length; i < len; i++) {
  btn[i].addEventListener('click' , function() {
    let dataBtn = this.getAttribute('data-btn');
    console.log(dataBtn);
  });
}
<a class="btn btn-default" data-btn="1" href="#" role="button">Link</a>
<button class="btn btn-default" data-btn="2" type="submit">Button</button>
<input class="btn btn-default" data-btn="3" type="button" value="Input">
<input class="btn btn-default" data-btn="4" type="submit" value="Submit">

关于javascript - 获取值数据属性 native Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43653601/

相关文章:

Javascript - 在所有页面上禁用按钮

javascript - 我无法验证标签 img

javascript - 在 url 中传递查询的安全性如何

javascript - 发电机 : Query Incorrect operand type

javascript - 替换两个 JavaScript 注释之间的代码

javascript - 在 2d 环境中以百分比增量将对象从矢量 A 移动到 B

javascript - 关闭编译器命令行似乎不适用于最新版本

javascript - 如果我们混淆了代码,那么我们如何调试和修改它?

javascript - 通过 Lodash 从数组创建对象映射

javascript - 无法从模板中访问 Backbone.js 集合/模型