Hallo
Ich habe hier ein Script mit dem man in einem Navigationsmenü den aktuellen Link zur Seite eine andere CSS Klasse zuweisen kann:
Soweit funktioniert das auch wunderbar.
Nur habe ich das Problem das meine Seiten Links z.B. so aussehen: "01.htm?categoryId=65"
Klar ich könnte es so schreiben: href="01.htm?categoryId=65".
Das dumme daran ist, das sich die categoryId ab und an ändert, und ich dann jedesmal das in den Links händisch abändern muß.
Gibt es eine Möglichkeit das Script so ab zu ändern das zum Ändern der CSS Klasse nur die eigendliche Seite, also das "01.htm" abgefragt wird und das "?categoryId=65" ignoriert wird ?
Gruß
meggamoon
Ich habe hier ein Script mit dem man in einem Navigationsmenü den aktuellen Link zur Seite eine andere CSS Klasse zuweisen kann:
HTML:
<html>
<head>
<TITLE>TEST</TITLE>
<script language="JavaScript">
// Ein Link der auf die aktuelle Seite verweist die CSS Klasse auf aktiv setzen
function highlightCurrentPageLink() {
var anzHrefs = document.getElementsByTagName("a").length;
for (var i = 0; i <= anzHrefs - 1; i++) {
if (document.getElementsByTagName("a")[i].href == document.location.href) {
var currentClassName = document.getElementsByTagName("a")[i].className;
var newClassName = currentClassName.replace(/inaktiv/,"aktiv");
document.getElementsByTagName("a")[i].className = newClassName;
}}}
</script>
<style type="text/css">
a.menueinaktiv:link, a.menueinaktiv:visited
{ padding-left: 20pt; color:black; font-size: 9pt; font-family: Arial; text-decoration:none; background: url(pfeil.gif) no-repeat; }
a.menueinaktiv:hover, a.menueinaktiv:active, a.menueinaktiv:focus
{ padding-left: 20pt; color:black; font-size: 9pt; font-family: Arial; text-decoration:none; background: url(pfeil.gif) no-repeat; font-weight: bold; }
a.menueaktiv:link, a.menueaktiv:visited
{ padding-left: 20pt; margin-left:5pt; color:red; font-size: 9pt; font-family: Arial; text-decoration:none; background: url(pfeilactiv.gif) no-repeat; font-weight: bold; }
a.menueaktiv:hover, a.menueaktiv:active, a.menueaktiv:focus
{ padding-left: 20pt; margin-left:5pt; color:black; font-size: 9pt; font-family: Arial; text-decoration:none; background: url(pfeilactiv.gif) no-repeat; font-weight: bold; }
</style>
</head>
<body onload="highlightCurrentPageLink();">
<a class="menueinaktiv" href="01.htm">01</a><br>
<a class="menueinaktiv" href="02.htm">02</a><br>
<a class="menueinaktiv" href="03.htm">03</a><br>
</body>
</html>
Soweit funktioniert das auch wunderbar.
Nur habe ich das Problem das meine Seiten Links z.B. so aussehen: "01.htm?categoryId=65"
Klar ich könnte es so schreiben: href="01.htm?categoryId=65".
Das dumme daran ist, das sich die categoryId ab und an ändert, und ich dann jedesmal das in den Links händisch abändern muß.
Gibt es eine Möglichkeit das Script so ab zu ändern das zum Ändern der CSS Klasse nur die eigendliche Seite, also das "01.htm" abgefragt wird und das "?categoryId=65" ignoriert wird ?
Gruß
meggamoon
Zuletzt bearbeitet von einem Moderator: