JavaScript

JavaScript в чем проблема

Let all =document.querySelectorAll(".child");
function go(){
let r = Math.floor(Math.random()*255)
let g = Math.floor(Math.random()*255)
let b = Math.floor(Math.random()*255)
let x = parseInt(Math.random()*9);
this.innerHTML = x
for(let j = 0 ; j < all.length ; j++){
console.log(all[j].innerHTML)
if(all[j].innerHTML == x){
this.style.backgroundColor = `rgb(${r},${g},${b})`
}
}
}
for(let i = 0; i < all.length; i++){
all[i].addEventListener("click",go)
}

создал куб 3х3 при каждом клике одно из квадрат в кубе добавляется рандомный цифр от 0 до 9 если в квадратах совпадают цифри то для этих квадратах работает этот this.style.backgroundColor = `rgb(${r},${g},${b})` метод
Два замечания:
1. Твой код будет работать только в современных браузерах.
2. JS-код должен размещаться на странице ПОСЛЕ всех блоков с class="child".

Основная ошибка в опубликованном коде: Let all =document.querySelectorAll(".child"); Служебное слово "let" должно быть ВСЕГДА маленькими буквами.

Должно быть не this.style.backgroundColor = `rgb(${r},${g},${b})`, а all[j].style.backgroundColor = `rgb(${r},${g},${b})`

Ну и ты неправильно считаешь случайные числа:

let r = Math.floor(Math.random() * 256);
let g = Math.floor(Math.random() * 256);
let b = Math.floor(Math.random() * 256);
let x = Math.floor(Math.random() * 10);

Как-то так: https://jsfiddle.net/rgaoudv5/2/
Болат Нуржанов
Болат Нуржанов
91 222
Лучший ответ
Mark ™ Мейл теперь сам во всех вопросах первую букву делает заглавной)
https://jsfiddle.net/ymp9w73k/

Главная проблема в том, что проверка в цикле не учитывает сам элемент, на которого кликнули. А сравнение с самим собой всегда возвращает true)

Math.random возвращает числа от 0 включительно до 1 не включительно. Поэтому надо умножать не на 255 и 9, а на 256 и 10

Еще сравнение all[ j ].textContent == x вернет true, если получится "" == 0
Пустая строка превращается в ноль. Поэтому хорошо бы ноль превратить в строку и использовать строгое сравнение all[ j ].textContent === "" + x

Забывать точки-запятые в конце строчек - плохая привычка...
_____________

let all = document.querySelectorAll(".child");

function go(elem, i) {
  let r = Math.floor(Math.random() * 256);
  let g = Math.floor(Math.random() * 256);
  let b = Math.floor(Math.random() * 256);
  let x = Math.floor(Math.random() * 10);
  elem.textContent = x;
  for (let j = 0; j < all.length; j++) {
    console.log(all[j].textContent);
    if (j != i && all[j].textContent === "" + x) {
      elem.style.backgroundColor = `rgb(${r},${g},${b})`;
      all[ j ].style.backgroundColor = `rgb(${r},${g},${b})`;
    }
  }
}

for (let i = 0; i < all.length; i++) {
  all[i].addEventListener("click", function(){
    go(this, i);
  });
}
Владимир Старов спасибо сейчас попробую
Владимир Старов спасибо то что надо ...как мастер советуйте пожалуйста как эфективнее учить JavaScript я иду на курси по веб
"цифри"?
Владимир Старов если крикнул на квадрат там рандомно отдал 1 и если ещё одном квадрате есть 1 то их background получают рандомний цвет