需要帮助从 javascript 中的点击函数获取值
need help getting values from a click function in javascript
所以我在从我的按钮中获取 ID 时遇到了问题。我的代码仅 return 从第一个 tic 按钮获取 id 值,而不是当我单击它们时的其余部分。
这里是 HTML:
<div class="row">
<div class="col-lg-12">
<a class="btn btn-lg btn-primary tic" id="0">#</a>
<a class="btn btn-lg btn-primary tic" id="1">#</a>
<a class="btn btn-lg btn-primary tic" id="2">#</a>
</div>
</div>
这里是 javascript:
const tick = document.querySelector('.tic');
tick.addEventListener('click', () =>{
var slot = tick.id;
console.log(slot);
});
当我点击第一个按钮时它只有 returns 0 但当我点击第二个按钮时它不会 return1。相反,它什么都不做。任何帮助都会很棒。谢谢
querySelector
returns 第一个元素。
相反,使用 querySelectorAll
到 select 所有元素,遍历每个元素并添加一个 click
事件侦听器:
const tick = document.querySelectorAll('.tic');
tick.forEach(e => {
e.addEventListener('click', () => {
var slot = e.id;
console.log(slot);
});
})
<div class="row">
<div class="col-lg-12">
<a class="btn btn-lg btn-primary tic" id="0">#</a>
<a class="btn btn-lg btn-primary tic" id="1">#</a>
<a class="btn btn-lg btn-primary tic" id="2">#</a>
</div>
</div>
或者,更好的是,使用事件委托:
document.body.addEventListener('click', function(e) {
if (e.target.classList.contains("tic")) {
console.log(e.target.id);
}
})
<div class="row">
<div class="col-lg-12">
<a class="btn btn-lg btn-primary tic" id="0">#</a>
<a class="btn btn-lg btn-primary tic" id="1">#</a>
<a class="btn btn-lg btn-primary tic" id="2">#</a>
</div>
</div>
所以我在从我的按钮中获取 ID 时遇到了问题。我的代码仅 return 从第一个 tic 按钮获取 id 值,而不是当我单击它们时的其余部分。
这里是 HTML:
<div class="row">
<div class="col-lg-12">
<a class="btn btn-lg btn-primary tic" id="0">#</a>
<a class="btn btn-lg btn-primary tic" id="1">#</a>
<a class="btn btn-lg btn-primary tic" id="2">#</a>
</div>
</div>
这里是 javascript:
const tick = document.querySelector('.tic');
tick.addEventListener('click', () =>{
var slot = tick.id;
console.log(slot);
});
当我点击第一个按钮时它只有 returns 0 但当我点击第二个按钮时它不会 return1。相反,它什么都不做。任何帮助都会很棒。谢谢
querySelector
returns 第一个元素。
相反,使用 querySelectorAll
到 select 所有元素,遍历每个元素并添加一个 click
事件侦听器:
const tick = document.querySelectorAll('.tic');
tick.forEach(e => {
e.addEventListener('click', () => {
var slot = e.id;
console.log(slot);
});
})
<div class="row">
<div class="col-lg-12">
<a class="btn btn-lg btn-primary tic" id="0">#</a>
<a class="btn btn-lg btn-primary tic" id="1">#</a>
<a class="btn btn-lg btn-primary tic" id="2">#</a>
</div>
</div>
或者,更好的是,使用事件委托:
document.body.addEventListener('click', function(e) {
if (e.target.classList.contains("tic")) {
console.log(e.target.id);
}
})
<div class="row">
<div class="col-lg-12">
<a class="btn btn-lg btn-primary tic" id="0">#</a>
<a class="btn btn-lg btn-primary tic" id="1">#</a>
<a class="btn btn-lg btn-primary tic" id="2">#</a>
</div>
</div>