我有一些 html 元素,每个元素都有 onclick 属性。并且每个 onclick 属性的值都不同。我想获得点击的值(value)。
<div class="test" onclick="something1">Lorem ipsum</div>
<div class="test" onclick="something3">Lorem ipsum</div>
<div class="test" onclick="something2">Lorem ipsum</div>
window.addEventListener('click', function(e) {
var test = document.querySelector(`.test[onclick="${e}"]`);
console.log(test)
})
这里我只想得到被点击的div的onclick值。
最佳答案
为什么不直接将事件绑定(bind)到所需的元素。
Array.from(document.querySelectorAll('.test')).forEach(e => {
// Add a data-attribute to store the current onclickvalue.
e.dataset.onclickvalue = e.getAttribute('onclick'); // gets the attribute value.
e.onclick = ""; // this is to avoid an event call.
e.addEventListener('click', function() {
console.log(this.dataset.onclickvalue);
})
});
<div class="test" onclick="something1">Lorem ipsum</div>
<div class="test" onclick="something3">Lorem ipsum</div>
<div class="test" onclick="something2">Lorem ipsum</div>
关于javascript - 如何获取点击查询的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55554254/