Suren97 Ответов: 1

Javascript: как проверить, существуют ли одинаковые числа в div, а затем изменить цвет фона 2 или 3 или более divs?


У меня есть 4x4 divs в теле,когда я нажимаю на любой div, он генерирует случайные числа в этом div 0-100 чисел, вот так http://prntscr.com/k5p0hr[^]

Если числа совпадают, мне нужно рисовать любым цветом, который ДИВС. Например, если в div есть три 26 чисел, то цвет фона этих трех div должен быть изменен.

Что я уже пробовал:

Я пытался сделать это, но это неправильно.

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Das 7</title>
	<style>
			.parent{
			overflow: hidden;
		}
		.d2{
			float: left;
			margin: 1px;
			outline: 1px solid red;
			width: 100px;
			height: 100px;
		}
	</style>
</head>
<body>
	<div>
		<div class="parent">
			<div class="d2"></div>
			<div class="d2"></div>
			<div class="d2"></div>
			<div class="d2"></div>
		</div>
		<div class="parent">
			<div class="d2"></div>
			<div class="d2"></div>
			<div class="d2"></div>
			<div class="d2"></div>
		</div>
		<div class="parent">
			<div class="d2"></div>
			<div class="d2"></div>
			<div class="d2"></div>
			<div class="d2"></div>
		</div>
		<div class="parent">
			<div class="d2"></div>
			<div class="d2"></div>
			<div class="d2"></div>
			<div class="d2"></div>
		</div>
	</div>
</body>
<script src="JS/script.js"></script>
</html>



var arr = document.querySelectorAll(".d2");
for(var i = 0; i < arr.length; i++){
	arr[i].addEventListener("click", F);
}

function F(){
	var r = parseInt(Math.random()*100);
	this.innerHTML = r;
	if(arr.innerHTML == r){
		arr[i].style.background = "red";
}
}

1 Ответов

Рейтинг:
1

Bryian Tan

Исходя из того, что здесь размещено, требуется больше работ. Вот вам пример: див BG цвет[^]

То arr это массив, вам нужно включить цикл для итерации объекта в нем. Затем вам также нужно добавить некоторую логику для обновления цвета фона других ячеек, если существует такое же число.