Below is my current code. It will create a grid of squares that change to a random color when you mouseover. I am trying to make an event listener for a click on the first square, and when it is clicked it resets all the squares in the grid back to the original color. I'm not sure what I am doing wrong, I am pretty new to Javascript, but I believe it could have something to do with my syntax in the resetAllSquares function.
"use strict";
let squares = document.querySelectorAll('div');
/*Mouseover change to random color*/
squares.forEach(item => item.addEventListener('mouseover', (e) => {
changeColor(item);
}))
const changeColor = (item) => {
item.style.background = "#" + Math.floor(Math.random() * 16777215).toString(16);
}
/* Reset current square */
squares.forEach(item => item.addEventListener('click', (e) => {
resetSquare(item);
}))
const resetSquare = (item) => {
item.style.background = "#737373";
}
/* Reset all squares */
document.getElementById('first').addEventListener('click', () => {
resetAllSquares();
})
const resetAllSquares = () => {
squares.style.background = "#737373";
}
.square {
background-color: #737373;
float: left;
position: relative;
width: 10%;
padding-bottom: 10%;
margin: 1%;
}
<div class="square" id="first"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>