Ошибка: Cannot read property 'classList' of null

139
21 января 2020, 06:50

Выдается ошибка: Uncaught TypeError: Cannot read property 'classList' of null

Код js:

function create() { 
 
	function getRandom() { 
		return Math.round(Math.random()*(mainArr.length-1)) 
	} 
	 
 
	currentFigure = getRandom(); 
 
	figureBody = [ 
		document.querySelector('[posX = "${x}"][posY = "${y}"]'), 
		document.querySelector('[posX = "${x + mainArr[currentFigure][0][0]}"][posY = "${y + mainArr[currentFigure][0][1]}"]'), 
		document.querySelector('[posX = "${x + mainArr[currentFigure][1][0]}"][posY = "${y + mainArr[currentFigure][1][1]}"]'), 
		document.querySelector('[posX = "${x + mainArr[currentFigure][2][0]}"][posY = "${y + mainArr[currentFigure][2][1]}"]'), 
	] 
 
	for (let i = 0; i < figureBody.length; i++) { 
		figureBody[i].classList.add('figure'); 
	} 
}

Answer 1

Замените ' на `:

document.querySelector(`[posX="${x}"][posY="${y}"]`),

и так далее.

var x = 1; 
var y = 2; 
console.log(document.querySelector('[posX="${x}"][posY="${y}"]')); 
console.log(document.querySelector(`[posX="${x}"][posY="${y}"]`));
<div id="test" posX="1" posY="2">TEST</div>

READ ALSO
Как применяются правила из различных ruleset&#39;ов в eslint

Как применяются правила из различных ruleset'ов в eslint

Пробую различные конфиг-файлыeslintrc

111
setAttribute перенос строки

setAttribute перенос строки

Как сделать перенос строки в setAttribute? \r\n не сработали и \n тоже и это тоже  

187
Калькулятор размера на vue.js

Калькулятор размера на vue.js

Хочу сделать калькулятор для расчета размера арматуры на vuejs

128
Рекурсивное создание полей теста

Рекурсивное создание полей теста

Я пытаюсь динамически создать тест по кнопкеДобавил функцию

101