Javascript - Menu změna třídy (class) po kliknutí na položku
Dobrý den může mi někdo poradit proč mi nefunguje tento kod.
Je to kod pro menu kdy když kliknu na položku změní se jí třída na "selectedMenu".
a u ostatních položek se nastaví třída na "normalMenu".
Něco jsem zkoušel v kodu níže ale nefunguje mi to v konzoly to píše chybu :
"Uncaught TypeError: Cannot set property 'className' of null".
Prosím poradte jak to opravit. Díky moc.
<link rel="stylesheet" type="text/css" href="demo.css" />
<script type='text/javascript' src='http://code.jquery.com/jquery-1.6.2.js'></script>
<script type="text/javascript" src="script.js"></script>
<script type='text/javascript'>
function zmen(x,y)
{
var z=0;
for (z=0;z<=y;z++)
{
var cName = 'normalMenu';
document.getElementById(z).className = cName;
}
var cName_X = 'selectedMenu';
document.getElementById(x).className = cName_X;
}
</script>
</head>
<body>
<div id="menu-container">
<ul id="navigationMenu">
<li><a href="#" id="1" class="normalMenu" onclick="zmen(1,6);">Home</a></li>
<li><a href="#" id="2" class="normalMenu" onclick="zmen(2,6);">Services</a></li>
<li><a href="#" id="3" class="normalMenu" onclick="zmen(3,6);">Our clients</a></li> <!-- class="selectedMenu" -->
<li><a href="#" id="4" class="normalMenu" onclick="zmen(4,6);">The team</a></li>
<li><a href="#" id="5" class="normalMenu" onclick="zmen(5,6);">About us</a></li>
<li><a href="#" id="6" class="normalMenu" onclick="zmen(6,6);">Contact us</a></li>
</ul>
</div>
Pretože pre z=0 ti to nenájde žiaden element. Buď čísluj elementy od 0 alebo začínaj so z=1.
Výhrady ku kódu sa mi nechce písať, tak len v skratke: identifikátory (okrem toho, že by nemali začínať číslicou) na takejto stránke vôbec nepotrebuješ, taktiež nepotrebuješ opakovať class=normalMenu, taktiež onclick by nemuselo byť priamo v HTML a ani odkazy by tam nemuseli byť (alebo keď už, tak aspoň na #home, #services atď s tým, že na začiatku to dáš do stavu podľa location.hash).
díky funguje to ale blbne to, no nevadí.
Je to z tohoto článku (tutorialzine.com) a chtěl jsem to zkusit upravit podle popisu výše nevyšlo to nevadí.