@olya_097

Почему в данному случае ошибка, не возводит в квадрат после клика?

Даны N абзацев с числами. По нажатию на любой абзац запишите в него квадрат числа, которое в нем находится.
  • Вопрос задан
  • 330 просмотров
Решения вопроса 3
archakov06
@archakov06
Frontend-разработчик (ReactJS)
Тебе надо пробежаться по каждому параграфу и забиндить в него обработчик клика.

var links = document.querySelectorAll('p');
for (var p = 0; p < links.length; p++) {
	const paragraph = links[p];
  paragraph.addEventListener('click', function (){
    paragraph.innerText = Math.pow(paragraph.innerText, 2);
  });
}
Ответ написан
NeiroNx
@NeiroNx
Программист
Потому что links не имеет addEventListener потому что это не JQuery вам.
document.querySelectorAll('p').forEach((item)=>{item.addEventListener('click', function (){

		this.innerHTML= Math.pow(parseInt(this.innerHTML),2);

})})
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Потому что querySelectorAll возвращает не один элемент, а список (NodeList) а у списка нет метода addEventListener.
Нужно на каждый элемент вешать отдельный eventListener
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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