Я делаю проект etch-a-sketch из проекта Odin, но столкнулся с проблемой. Я создал сетку и отобразил ее на экране, но я не могу найти способ сделать так, чтобы каждое поле меняло цвет при нажатии на него. Я перепробовал все способы, но все они приводят к исчезновению границы каждого элемента.
etch-a-sketch. html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<link rel="stylesheet" href="style.css" />
<link rel="stylesheet" href="reset.css" />
</head>
<body>
<div id="input">
<form id="forrm" method="GET">
<label for="size">Custom Size</label>
<input id="size" type="text" name="size">
</form>
</div>
<div id="container"></div>
<script src="script.js"></script>
</body>
</html>
style. css
#container {
border: gray solid 1px;
height: 500px;
width: 500px;
color: green;
margin-left: auto;
margin-right: auto;
position: relative;
margin-top: 30px;
display: grid;
grid-template-columns: repeat(16,1fr);
grid-template-rows: repeat(16,1fr);
}
#input {
display: block;
text-align: center;
}
#forrm {
margin-left: auto;
margin-right: auto;
}
script. js
const cont = document.getElementById('container');
for (let a=0; a < 256; a++){
let him = document.createElement('div');
him.classList.add('divi');
him.setAttribute('style','border : solid 1px gray;')
cont.appendChild(him);
}
Я должен сделать это с помощью js. Я попытался выбрать все деления в контейнере, затем выполнить итерацию каждого из них и добавить событие, подобное тому, но оно все еще не работает и приводит к исчезновению границ каждого div:
script. js
let gettin = document.querySelectorAll('divi');
gettin.ForEach((divi) , (e ) {
e.target.setAttribute('click' , 'background-color : blue');
});