Вы должны объявить свои переменные. Код, который вы используете для своей функции forEach
, объявляет локальную область действия eyes
для использования внутри вашей функции, а не character
.
eyes.forEach(eyes => character.addEventListener('click', move));
в вашем коде выше, символ не объявлен и не существует.
Попробуйте что-то вроде этого:
const eyes = document.querySelectorAll('.eyes');
function move(){
this.classList.toggle('move');
}
eyes.forEach(eye => eye.addEventListener('click', move));
.character {
width: 50px;
height: 50px;
border: 1px solid black;
}
.eyes {
display: inline-block;
width: 10px;
height: 10px;
border: 1px solid red;
}
.move {
border: 1px solid green;
}
<div id="world">
<div class="character"><div class="eyes"></div><div class="eyes"></div></div>
<div class="character"><div class="eyes"></div><div class="eyes"></div></div>
<div class="character"><div class="eyes"></div><div class="eyes"></div></div>
</div>