Не работает dom манипуляция

Пытался поменять фон в браузере, у меня выходит следующая ошибка:

Uncaught TypeError: Cannot read properties of null (reading 'style') at scripts.js:1

Здесь почему-то все работает, а у меня нет. В чем проблема?

У меня код такой же как и в этом примере.

document.body.style.background = 'red'; // сам скрипт находится в отдельном js файле
<!DOCTYPE html>

<html>

   <head>
<meta charset="utf-8" />
<link  href="style.css"  rel="stylesheet" type="text/css" />
<script type="text/javascript" src="java.js"></script>
  </head>

 <body>
</body>

</html>


Ответы (1 шт):

Автор решения: dresser

Скрипты надо в конец body ложить или использовать defer если скрипт юзает DOM

1.

<!DOCTYPE html>

<html>

   <head>
<meta charset="utf-8" />
<link  href="style.css"  rel="stylesheet" type="text/css" />
  </head>

 <body>

<script type="text/javascript" src="java.js"></script>
</body>

</html>
<!DOCTYPE html>

<html>

   <head>
<meta charset="utf-8" />
<link  href="style.css"  rel="stylesheet" type="text/css" />
<script defer type="text/javascript" src="java.js"></script>
  </head>

 <body>
</body>

</html>
→ Ссылка