@VegasChickiChicki

Как перебрать массив полученный с помощью document.getElementsByClassName?

На странице есть класс "test_class" ,я получаю массив элементов через document.getElementsByClassName("test_class");
Как мне перебрать этот массив ,что бы выполнении функции ,она работала при обращении к любому из элементов массива?
Обращаюсь к классу через onclick ,необходимо что бы при клике на любой из блоков содержащий этот класс, срабатывала эта функция.
  • Вопрос задан
  • 205 просмотров
Решения вопроса 3
Первое, что пришло на ум:
let arr = [...document.getElementsByClassName("test_class")]

for (let i=0; i < arr.length; i++) {
	arr[i].onclick = function(){
		alert("Click!");
	}
};

arr.forEach(function(entry) {
	entry.onclick = function(){
		alert("Click!");
	}
});

arr.map(function(entry) {
	entry.onclick = function(){
		alert("Click!");
	}
	return entry;
}


Можно ещё кучу напридумывать.
Ответ написан
sergiks
@sergiks Куратор тега JavaScript
♬♬
oldschool, работающий и во всяких IE:

[].forEach.call( document.getElementsByClassName("test_class"), function(el) {
   console.log("el:", el);
});
Ответ написан
Комментировать
RAX7
@RAX7
const els = [...document.getElementsByClassName("test_class")];
els.forEach(el => {
  el.addEventListener('click', function(event) {
    //code
  });
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы