// DOM: multiply table // Сделать таблицу умножения, используя DOM createElement и innerText. Создайте таблицу, вложенные строки и // ячейки в циклах. Должно получится что-то вроде этого: // DOM: highlight cell // Подсветить ячейку, над которой находится курсор мыши. Используйте события mouseover и mouseout, и // style.backgroundColor для подсветки. Для того, что бы подсветить правильную ячейку, добавьте обработчики // событий во вложенный цикл, и используйте в них ту переменную, которая хранит . В таком случае замыкания // вам помогут. // Подсветить строку и столбец, в которой находится подсвеченная ячейка. Если у вас обработчики событий // объявлены во вложенном цикле, то вы можете пользоваться счетчиками цикла (обычно i и j) и другими // переменными, например переменной, содержащей в себе DOM-элемент строки. multiply_table: { let table = document.createElement('table'); document.body.append(table); for (let i = 0; i < 10; i++) { let tr = document.createElement('tr'); table.append(tr); for (let j = 0; j < 10; j++) { let td = document.createElement('td'); tr.append(td); if (i == 0) { td.innerText = j; } else if (j == 0) { td.innerText = i; } else { td.innerText = i * j; } handleMouseEvents(td, i, j); } } console.log(table); function handleMouseEvents(el, selectedI, selectedJ) { el.onmouseover = (event) => { for (let i = 0; i < table.children.length; i++) { for (let j = 0; j < table.children[i].children.length; j++) { if (i == selectedI || j == selectedJ) { table.children[i].children[j].style.backgroundColor = '#e5f3ff'; } } } event.target.style.backgroundColor = '#b0d3f2'; } el.onmouseout = (event) => { for (let i = 0; i < table.children.length; i++) { for (let j = 0; j < table.children[i].children.length; j++) { table.children[i].children[j].style.backgroundColor = ''; } } } } }