- Выберите все кнопки в документе.
- Используйте для или forEach для перебора списка кнопок и добавления прослушивателя событий для каждой из кнопок.
- Используйте метод getAttribute () дляполучить конкретный атрибут элемента (например, «id»).
html:
<button class="mybutton" id ="one">1</button>
<button class="mybutton" id="two">2</button>
<button class="mybutton" id="three">3</button>
javascript:
let myButtons = document.getElementsByClassName("mybutton");
for (let i = 0; i < myButtons.length; i++) {
myButtons[i].addEventListener("click", function(event) {
event.preventDefault();
console.log(this.getAttribute("id"));
});
}
Мы также можем использовать метод forEachно поскольку document.getElementsByClassName возвращает HTMLCollection , а не массив, с ES6 Array.from () или spread , который создает массивы из объектов, подобных массиву, мы можемиспользуйте метод forEach для перебора объектов HTMLColection.подробности в здесь
[...myButtons].forEach(function(button) {
button.addEventListener("click", function(event) {
event.preventDefault();
console.log(this.getAttribute("id"));
});
});
Или вы можете использовать document.querySelectorAll (), который возвращает NodeList вместо document.getElementsByClassName ().
let myButtons = document.querySelectorAll(".mybutton");
myButtons.forEach(function(button) {
button.addEventListener("click", function(event) {
event.preventDefault();
console.log(this.getAttribute("id"));
});
});