Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.04.2020, 11:16
Аспирант
Отправить личное сообщение для Vahan60 Посмотреть профиль Найти все сообщения от Vahan60
 
Регистрация: 20.04.2020
Сообщений: 46

Работает. Но выдает "Uncaught TypeError"
В консоли выдаёт ошибку "Uncaught TypeError: Cannot read property 'addEventListener' of undefined at test13.js:76"ю
Но при этом все работает (пока работает) как надо.
Чего же консоль на меня ругается?

// кнопка Fullscreen

let btn = document.getElementById ("btn");    
let bd = document.querySelector ("body") 
 
     btn.addEventListener ("click", function (event) {
       bd.requestFullscreen();
       let target = event.target;
       target.style.background = "black";
          });

// создаём таблицу 

let elem = document.querySelector ("#elem");
createTable (elem, 7, 1);

function createTable(parent, cols, rows) {
	let table = document.createElement("table");
	
	for (let i = 0; i < rows; i++ ){
		let tr = document.createElement ("tr");
		
		for (let j = 0; j < cols; j++){
			let th = document.createElement("th");
			tr.appendChild(th);
		};
		table.appendChild(tr);
	};
	parent.appendChild(table);
	//return table;
};

// закрашиваем ячейки таблицы

const allProperty = [
    ["#dc143c", "SF", "#ff0000", "SF", "#ff6347", "SF"],
	["#ff4500", "SF", "#ffd700", "SF", "#ffff00", "SF"],
	["#008000", "SF", "#0bda51", "SF", "#00ff00", "SF"],
    ["#000080", "sound file SF", "#0000ff", "SF", "#79d8ff", "SF" ],
	["#5a005a", "SF", "#ff00ff", "SF", "#d2a8d4", "SF"],
	["#800000", "sound file SF", "#964b00", "SF", "#cc7722", "SF" ],
	["#010101", "SF", "#ada8a5", "SF", "#ffffff", "SF"]
	];

//let i;
let table = elem.querySelector ("table"); 
let unit = table.querySelectorAll ("th");

for (let i = 0; i < 7; i++){
     unit[i].style.backgroundColor = allProperty[i][0];
};
	
	console.log (unit);

// создаём диалоговое окно

let dialog = document.querySelector("dialog");
let unitOkno = dialog.querySelectorAll ("td");

 for (let i = 0; i < 7; i++) {
  unit[i].addEventListener ("click", function() { 
  dialog.show();
  unitOkno[0].style.backgroundColor = allProperty[i][0];
  unitOkno[1].style.backgroundColor = allProperty[i][2];
  unitOkno[2].style.backgroundColor = allProperty[i][4];
  });
};

  document.querySelector("#close").onclick = function() {
  dialog.close();
};

// клик по unitOkno

   for (let i = 0; i < 7; i++) {
	unitOkno[i].addEventListener ("click", function() { 
    dialog.style.backgroundColor =  unitOkno[i].style.backgroundColor;
	});
   };
Ответить с цитированием
  #2 (permalink)  
Старый 22.04.2020, 11:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Сообщение от Vahan60
Cannot read property 'addEventListener' of undefined at test13.js:76"
значит в диалоге нет ячеек, строка 58. либо ячеек только 3 строка 75.

Последний раз редактировалось рони, 22.04.2020 в 11:49.
Ответить с цитированием
  #3 (permalink)  
Старый 22.04.2020, 14:49
Аспирант
Отправить личное сообщение для Vahan60 Посмотреть профиль Найти все сообщения от Vahan60
 
Регистрация: 20.04.2020
Сообщений: 46

Точно. Поменял i<7 на i<3 и TypeError пропал.
Спасибо огромное.
Но эта смена (i<7 на i<3) грозит мне проблемами в дальнейшем. (((
Ответить с цитированием
  #4 (permalink)  
Старый 22.04.2020, 14:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Vahan60,
может не число 3, а unitOkno.length
Ответить с цитированием
  #5 (permalink)  
Старый 23.04.2020, 07:40
Аспирант
Отправить личное сообщение для Vahan60 Посмотреть профиль Найти все сообщения от Vahan60
 
Регистрация: 20.04.2020
Сообщений: 46

Да. Так будет лучше. Еще раз огромное спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
контент из XMLHttpRequest response с помощью innerHTML не работает m4ybe Events/DOM/Window 9 24.01.2018 14:35
jQyery функция странно работает! Midel Общие вопросы Javascript 4 08.04.2012 13:40
Javascript не работает в IE 9 Lenovo B520 Роман Валерьевич Общие вопросы Javascript 2 11.01.2012 10:33
Не работает код внутри циклов DZHETIGAPA Events/DOM/Window 1 21.06.2011 01:03
ajax запросы, работает на одних компах и не работает на других vtornik23 AJAX и COMET 2 22.03.2010 18:22