JS: problem mit DOM in for in

hallo

Ich habe wieder einmal ein Problemchen xD

Es geht darum dass anhand des Inhaltes einer Zelle der Inhalt in einer Anderen Zelle (der gleichen Zeile) angepasst wird (in ner Tabelle)

Ich hab also ne Tabelle mit x Zeilen. Diese Tabelle hat die ID "edit"
In jeder dieser Zeilen sind drei Zellen.
in der ersten Zelle liegt standardmässig ein Bild (IMG-Tag), mit dem src-Attribut “img/noimg.png”.
In der dritten Zelle liegen vier DIV-Elemente.

Nun habe ich die Funktion init :

var ELEM = document.getElementById('edit').rows; var DIVS; var i; for(i in ELEM) { if(ELEM[i].cells[0].firstChild.src == "img/noimg.png") { DIVS = ELEM[i].cells[2].childNodes; DIVS[0].style.background = "url(img/up.png)"; DIVS[0].onclick = "moveUp("+i+");"; DIVS[1].style.background = "url(img/delete.png)"; DIVS[1].onclick = "deleteImg("+i+");"; DIVS[2].style.background = "url(img/upload.png)"; DIVS[2].onclick = "upload("+i+");"; DIVS[3].style.background = "url(img/dn.png)"; DIVS[3].onclick = "moveDn("+i+");"; } }
Jedoch bewirkt diese Funktion nix xD
wenn ich die IF-Bedingung auskommentiere, geschieht eben so nix

Freundliche Grüsse
Joey

Und was hat dein Debugging ergeben …?

(Wieso muss man das eigentlich immer wieder fragen? Ein paar Testausgaben, um zu schauen, ob du wirklich über die richtigen Elemente iterierst, ob die in IF-Bedingungen verwendeten Werte wirklich das enthalten, was du erwartest, etc. - das kann doch wohl nicht zu viel verlangt sein, dass man das schon im Vorfeld mal macht, und die Ergebnisse beim Beschreiben des Problems ebenfalls mitteilt.)

Naja, wollte nicht dass der POST zu lange wird xD

Jedenfalls, wenn ich mit dem Firebug jede Zeile Code einzeln ausführe, scheint es zu gehen,
das hab ich wohl vergessen zu schreiben :wink:
Ja, das ganze mach ich dann einfach ohne for in schleife…
Und auch wenn ichs mit for in schleife reinkopiere, tuts, das was es eigentlich soll, das heisst, ich hab die richtigen Elemente angesprochen :wink:

die funktion init() wird in ner Externen JS datei definiert und auch als function erkannt.
ich hab da auch document.onload = init; drinn und habs auch mehrere male im FireBug imt init(); versucht…

Freundliche Grüsse
Joey

Nur vermutlich, bevor sie existieren.

window.onload

o.0 Das glaub ich ja nicht xD
Wieso funzts jetzt :ps: Aber nicht, wenn ich im firebug init(); aufrufe ?
Naja
danke schön :slight_smile:

Ne, in diesem Falle gar nicht :smiley:
(Denn sonst hätt ich ja wohl ne Fehlermeldung bekommen „document.getElementById(‚edit‘) is NULL“ oder so ähnlich)