Glory: Li Menu markieren

Beitrag lesen

function tuwas(ele) {
   document.getElementById(ele.parentNode.id).style.backgroundColor  = "silver";
}

Oder kürzer: ele.parentNode.style.backgroundColor  = "silver";
Ich finde "ele" übrigens etwas komisch, aber das ist Geschmackssache.

<li id="limenu1"><a id="a1" href="#" onclick="tuwas(this);return false">Klick mich</a></li>

<li id="limenu2"><a id="a2" href="#" onclick="tuwas(this);return false">Klick mich</a></li>

Das "return false" kannst du dir sparen. Und das Semikolon auch.

Wenn man auf dem ersten Link klickt, wird er grau markiert. Wenn man nun auf den 2. klickt wird er ebenso grau markiert.
Ich möchte gern, dass beim Klick auf limenu2 zb limenu nicht mehr markiert ist. Wie kann ich sowas erreichen?

Kommt drauf an. Wenn du wirklich nur zwei Listenpunkte hast, dann könntest du in die Funktion tuwas(ele) folgendes einbinden:

  
function tuwas(ele) {  
   if (ele.parentNode.id == "limenu1")  
      document.getElementById("limenu2").parentNode.backgroundColor = "Hier den Farbcode für >nicht markiert< einsetzen";  
   else  
      document.getElementById("limenu1").parentNode.backgroundColor = "Hier den Farbcode für >nicht markiert< einsetzen";  
//...  
}

Sauber ist das ganze zwar nicht wirklich, aber probier es erstmal so. Es wird dabei überprüft, welches <li> angeklickt wurde und dann das entsprechend andere "ent-markiert".
Wenn du allerdings sehr viele <li>s hast oder deren Anzahl gar dynamisch ist, musst du etwas allgemeiner an die Sache herangehen. Das Prinzip bleibt allerdings in etwa das gleiche. Du fragst eben ab, welches <li> angeklickt wurde und ent-markierst alle anderen <li>s außer diesem <li>. Dabei sollten die Arrays und Schleifen helfen.