Hallo,
Warum geht das nur in Netscape?
Das geht in allen Browsern, welche die Methode document.getElementsByName() kennen (NN6.x, NN7.0, Opera6.x). NN4.x macht's garantiert auch nicht. Der MSIE5.x kennt die Methode nicht. Für den musst Du noch mit document.all arbeiten.
Allerdings ist name kein Attribut, welches in einer td erlaubt ist. Du kannst den Menüzellen einheitliche Klassen geben. Das hätte dann auch den Vorteil, dass sie per CSS einheitlich formatiert werden können.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<HTML>
<HEAD>
<script type="text/javascript" language="JavaScript">
<!--
function highlight(high) {
if (document.getElementsByTagName) {
var allezellen = document.getElementsByTagName("td");
var zellen = new Array();
var i=0;
for (a=0; a<allezellen.length; a++) {
if (allezellen[a].className="menuzelle") {
zellen[i]=allezellen[a];
i++;
}
}
for (a=0; a<zellen.length; a++) {
zellen[a].style.backgroundColor="#000000";
zellen[high].style.backgroundColor="#FF0000";
}
}
if (document.all) {
var allezellen = document.all.tags("td");
var zellen = new Array();
var i=0;
for (a=0; a<allezellen.length; a++) {
if (allezellen[a].className="menuzelle") {
zellen[i]=allezellen[a];
i++;
}
}
for (a=0; a<zellen.length; a++) {
zellen[a].style.backgroundColor="#000000";
zellen[high].style.backgroundColor="#FF0000";
}
}
}
//-->
</script>
</HEAD>
<BODY>
<table>
<tr>
<td class="menuzelle" onClick="highlight(0)">Klick!</td>
<td class="menuzelle" onClick="highlight(1)">Klick!</td>
<td class="menuzelle" onClick="highlight(2)">Klick!</td>
<td class="menuzelle" onClick="highlight(3)">Klick!</td>
<td class="menuzelle" onClick="highlight(4)">Klick!</td>
</tr>
</table>
</BODY>
</HTML>
Das funktioniert mit MSIE5.5, NN7.0 und Opera6.05.
Für NN4.x müsstest Du noch zusätzlich mit dem Layer-Objekt arbeiten. Ob man das allerdings noch in der selben Datei schafft?
Gruß
Axel