Hallo WauWau,
function hover() {
var tabelle = eval(document.getElementbyId("tabelle"));
für was ist eval?
tabelle.firstChild.childNodes[0].style.backgroundImage = bg_hot[0];
damit weist du dem Element tbody ein Hintergrundbild zu (bzw. im Mozilla dem Text der zwischen <table> und dem ersten <tr> steht, was vermutlich einen Fehler verursacht).
tabelle.firstChild.childNodes[1].style.backgroundImage = bg_hot[1];
tabelle.firstChild.childNodes[2].style.backgroundImage = bg_hot[2];
damit verursachst du einen Fehler, da weitere Childnodes nicht vorhanden sind (außer du hast mindestens zwie Elemente aus thead, tfoot und tbody angegeben)
Mit "firstChild" gehen wir erst einmal zur <tr>.
nein. firstChild ist bei einer Tabelle wenn kein thead und/oder tfoot angegeben ist immer tbody (dieses Element ist laut http://www.w3.org/TR/html401/struct/tables.html#h-11.2.1 immer einmal vorhanden, dessen Anfang- und Endtags aber optional. Warum document.getElementsByTagName('table')[0].firstChild.nodeName im Mozilla aber #text gibt, weiß ich nicht - vermutlich ist das ja sogar korrekt, wenn zwischen <table> und <tr> Leerzeichen (und oder Zeilenumbrüche) stehen?
Dann gehen wir per childNodes[x] zum x-1.ten Kind. Das heißt, childNodes[0] spricht die erste Zelle an.
die Zeilen stehen dann in
tabelle.firstChild.childNodes[x]
und die einzelnen Zellen in
tabelle.firstChild.childNodes[x].childNodes[y]
(im Mozilla eben jeweils ein Element auf der Childachse weiter)
So, soweit müsste es jetzt eigentlich gehen, höchstwahrscheinlich wird es das nicht, aber das ist ja auch egal, dafür gibt es das forum 8]
wenn du schon fertige Lösungen postest (ja, ich gebe zu, ich mache das auch manchmal :-)) - dann teste sie doch wenigstens vorher.
Grüße aus Nürnberg
Tobias
Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|