Не могу изменить цвет элемента с помощью JS

в консоли Cannot set properties of undefined (setting 'backgroundColor')

for (var i = 0 ; i < right.length; i++) {
   right[i].addEventListener('click' , function(){
       console.log('норм');
       right.style.backgroundColor = "red";
   } ) ; 
} 

Ответы (1 шт):

Автор решения: Laukhin Andrey

right - это, судя по всему, коллекция элементов. Если требуется изменить цвет элемента, по которому был клик, то следует взять его из аргумента функции-обработчика события:

let right = document.querySelectorAll('.box');

for (let i = 0; i < right.length; i++) {
  right[i].addEventListener('click', function(event) {
    event.target.style.backgroundColor = "red";
  });
}
.box {
  width: 50px;
  height: 50px;
  border: 1px solid green;
}
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>

→ Ссылка