Я только начинаю преподавать Javascript и пытаюсь создать меню, которое активируется нажатием на кнопку. Но я продолжаю получать ошибку: Uncaught TypeError: Невозможно прочитать свойство addEventListener из null. Я некоторое время изучал его, но не могу понять, почему он не работает. Посмотрите мой код ниже:
HTML
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="website.css" />
<script src="sitejavascript.js"></script>
</head>
<body>
<img class="himage" src="waves.jpg" style="width: 100%; height:150px;" />
<div class="nav">
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="SecondPage.html">Second Page</a></li>
<li><a href="ThirdPage.html">Third Page</a></li>
<li><a href="FourthPage.html">Fourth Page</a></li>
</ul>
</div>
<div class="countrySelector">
<button id="selectCountry" class="country">Testing</button>
<div id="countryList" class="countryContent">
<a href="#">Country One</a>
<a href="#">Country Two</a>
<a href="#">Country Three</a>
</div>
</div>
</body>
</html>
Javascript
document.getElementById("selectCountry").addEventListener("click", dropCountry);
function dropCountry(){
document.getElementById("countryList").classList.toggle("show");
};
"Шоу" находится внутри моего CSS
.show {display: block;}
Ваш скрипт работает слишком быстро, прежде чем DOM будет готов. Попробуйте поместить свой тег сценария в нижней части страницы непосредственно перед закрывающим тегом body.