• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

html <li> id bei klick ändern

VollDerNewb

Gesperrt
Hallo,

habe ein kleines Problem, ich habe eine css Klasse, welche den hyperlink einfärbt, der aktuellen Seite. Weiß grad nicht wie ich mich ausdrücken soll :D

Hier ein Beispiel aus meinem Code:

Code:
<div id="nav">
<ul>
<li  id="current"><a href="link.php">Link</a></li>
<li id=""><a href="link.php">Link1</a></li>
<li id=""><a href="link.php">Link2</a></li>
<li id=""><a href="link.php">Link3</a></li>
<li id=""><a href="link.php">Link4</a></li>
</ul>
</div>
Die id current zeigt dem User auf welcher Seite er gerade ist.
Nur wie kann ich die ID beim Klick auf link1 übernehmen?
habe es mit php probiert, das "onclick" eine Variable geändert wird, welche aber nicht funktioniert.
Also wenn der User auf Seite 1 ist und auf Seite 2 geht soll die ID= current auf den Link2 wechseln.

Hoffe ihr versteht mich :( bin schon länger daran...

Viele Grüße
 
Wenn Du es per php machst musst Du die einzelnen Seiten natürlich auch unterscheiden. So wie Du es gerade gezeigt hast sieht man aber keine Unterscheidung - geht also nicht, vermutlich wird bei allen <li> current gesetzt?

Wenn Du wirklich nach dem gehst wie Du es sagst müsstest Du es per JavaScript machen. Frage wäre dann jedoch wie die verlinkten Seiten geladen werden sollen.

So oder so - Du müsstest dich entscheiden was du willst: eine andere Seite laden oder per JavaScript etwas ändern.

Und in jedem Fall bist Du im falschen Forum.
 
Ich weiß ja nicht, wie deine Linkstruktur aussieht, aber vom Prinzip her könnt man's so machen:
PHP:
<?php
  function isCur($s)
  {
    return $aktuelleSeite == $s ? 'id="current"' : '';
  }
?>

<li <?php echo isCur('link1'); ?>><a href="...
Wobei $aktuelleSeite der Dateiname, GET-Parameter, oder wie auch immer du sonst deine Seiten aufrufst, ist.
 
Wenn Du es per php machst musst Du die einzelnen Seiten natürlich auch unterscheiden. So wie Du es gerade gezeigt hast sieht man aber keine Unterscheidung - geht also nicht, vermutlich wird bei allen <li> current gesetzt?

Wenn Du wirklich nach dem gehst wie Du es sagst müsstest Du es per JavaScript machen. Frage wäre dann jedoch wie die verlinkten Seiten geladen werden sollen.

So oder so - Du müsstest dich entscheiden was du willst: eine andere Seite laden oder per JavaScript etwas ändern.

Und in jedem Fall bist Du im falschen Forum.

ahhh sorry... wollte nicht falsch sein, dachte es geht mit onclick irgendwie, das ist nunmal html.

Ich habe die Links, auf 4 verschiedene Seiten.
Die ID current soll jeweils auf dem Link sein, der geklickt wurde.
Nur verstehe ich nich wie ich javascript sagen kann es soll "onclick" die
id auf den link setzten und von dem anderen löschen.

Soll ich einen neuen post im javascript forum auf machen oder kannst du den verschieben?


Viele Grüße
 
onclick mag ein html-Attribut sein, aber was damit aufgerufen wird ist JavaScript.

Kleines Beispiel:

Code:
<a href="#" onclick="this.id='current';return false;">

Das wäre ein Link dem beim Anklicken id ID current gesetzt wird und der trotz Anklicken keine Seite lädt.
 
danke für die beispiele,
doch beide funktionieren bei mir nicht.

ich tendiere sehr zu der javascript variante, da meine template Datei eine html Datei ist.
Nur wie kann ich ihm sagen er soll die ID von dem <li> Tag auf current ändern. Das ist das Problem.
Code:
<a href="#" onclick="this.id='current';return false;">

Das ist der Link:
Code:
<li id=""><a onclick="" href="index.php?mod=blog">Blog</a></li>
und der <li> Tag muss auf id=current gesetzt werden.
 
Deswegen fragte ich ja ob Du die Markierung nur per JavaScript oder nach dem Neuladen einer Seite setzen willst :idea: Wenn Du die Seite neu lädst musst Du die ID per PHP oder (wenn ohne php) per Hand setzen. Das hat dann nichts mit JavaScript und onclick zu tun.
 
Deswegen fragte ich ja ob Du die Markierung nur per JavaScript oder nach dem Neuladen einer Seite setzen willst :idea: Wenn Du die Seite neu lädst musst Du die ID per PHP oder (wenn ohne php) per Hand setzen. Das hat dann nichts mit JavaScript und onclick zu tun.


ok dann bin ich überfragt.
Danke für eure Hilfe ich werde mich mal dransetzen

ok, php geht schonmal nicht, ist verboten in der template datei.
 
Zuletzt bearbeitet:
Zurück
Oben