我使用原生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/