mustang_shelby
@mustang_shelby
i like (*_metallica_*)

Проблемы с html и javascript?

javaScript через цикл генерирует мне html код кнопки:

let box_h, item, co, staf;
co = document.querySelector(".boots");

function g_global() {
	//
	box_h = "";
	item = 5;
	//
	for(i = 0; i <= item; i++) {
		box_h += '<div class="push"><button>нажми</button></div>'
	}
	//
	co.innerHTML = box_h;

}
g_global();

staf = document.querySelectorAll(".push").onclick = function () {
	console.log("good");
};


Проблема заключается в том, что я не могу повесить на кнопку событие, которая генерируется в цикле ( console.log - ошибки не показывает - но и реакции тоже на функцию нет я уже пробовал и через евент листенер - мысль о том что он просто не видит на ходу и не понимает что я от него хочу.
  • Вопрос задан
  • 221 просмотр
Решения вопроса 2
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
Так в querySelectorAll лежит коллекция, а не конкретный элемент. Пройдись циклом по коллекции и каждому элементу навесь обработчик.
P.S. А что вы хотели получить в переменную staf?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
twobomb
@twobomb
let box_h, item, co, staf;
co = document.querySelector(".boots");

staf = function(){
   document.querySelectorAll(".push").forEach((e)=>{
   	e.addEventListener("click",(ev)=>{
    console.log("good")
    },false);
   })
}
function g_global() {
  //
  box_h = "";
  item = 5;
  //
  for(i = 0; i <= item; i++) {
    box_h += '<div class="push"><button>нажми</button></div>'
  }
  //
  co.innerHTML = box_h;
  staf();

}
g_global();
Ответ написан
Ваш ответ на вопрос

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

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