An error is generated: Uncaught TypeError: Cannot read property 'classList' of null

Js code:

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'); } } 

  • one
    Replace ' with `. - Igor
  • It still doesn't work - TitaNick pm
  • The answer is below. Everything goes. - Igor
  • Thank you very much - TitaNick
  • You are welcome. Successes! The tick mark is to the left of the answer. - Igor

1 answer 1

Replace ' with `:

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

and so on.

 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>