Hallo,
var ns6=document.getElementById&&!document.all
var ie=document.all
So eine Browsererkennung ist völlig veraltet. Du solltest dich mit Fähigkeiten- und Objektabfragen auseinandersetzen. Das macht deine Programmierung viel einfacher.
Weder besteht die Welt heute aus Netscape 6 und Internet Explorer, noch sind diese Browsererkennungen irgendwie dazu geeignet, die benutzten Features abzufragen.
function changeto(e,highlightcolor){
source=ie? event.srcElement : e.target
Installiere dir mal Firebug im Firefox und füge hier die Debug-Ausgabe ein:
console.log(source);
if (source.tagName=="TABLE")
return
while(source.tagName!=highlightbehavior && source.tagName!="HTML")
source=ns6? source.parentNode : source.parentElement
Und dann hier
console.log(source);
Da wirst du sehen, dass nach dieser Schleife die source das html-Wurzelelement ist.
Durch das cellspacing ist zwischen den tr-Elementen eine Menge Platz - und wenn du die Maus von tr zu tr bewegst, dann fährst du über die Fläche des tbody-Elementes. Dort passiert dann auch der mouseover-Event. Wenn du von dort mit dieser Schleife aufsteigst, kommst du nie und nimmer zu einem tr-Element.
Mathias