/ / Кодът работи в jsfiddle, но не и в chrome. - Uncaught TypeError: Не може да се прочете свойството 'style' на undefined - javascript, html, css, dom

Кодът работи в jsfiddle, но не и в chrome. - Uncaught TypeError: Не може да се чете собственост 'style' на undefined

Работих по просто меню за игра за игра (което все още трябва да направя.) Кодът работи перфектно в jsfiddle обаче, когато отворя локалния си html документ, нито един от javascript не работи (console.log и друг код работи преди грешката ми) и получавам грешка във функцията ми createMenu: ред 67, което казва Uncaught TypeError: Не може да се прочете свойството "style" на undefined

Ето кода за функцията createMenu (също на jsfiddle)

   var menu = document.getElementsByClassName("menu");
var menu2 = document.getElementsByClassName("menu2");
var createMenu = function()
{
menu[0].style.display = "block";    <---- Error
menu[1].style.display = "block";
menu[2].style.display = "block";
menu2[0].style.display = "none" ;
menu2[1].style.display = "none" ;
menu2[2].style.display = "none" ;

};
createMenu();

Забележка: Опитах се да направя блока на дисплея / нито един с цикъл за по-малко код, но изглежда не работеше изобщо, дори в jfiddle.

var createMenu = function()
{
var i = 0;
while (i <3 ) {
i++;

menu[i].style.display = "block";
menu2[i].style.display = "none" ;
}
};

Благодаря за помощта!

Отговори:

2 за отговор № 1

Това вероятно е защото зареждате вашия JS код в head елемент, което означава, че JS се изпълнява преди изобразяването на тялото ви. Ще трябва да изчакате пълното зареждане на DOM или да поставите скрипта си в края на тялото:

         <!-- ... -->
<script src="your-script.js"></script>
</body>
</html>