Zugriff funzt nicht in Netscape 6
Peter Bock
- javascript
0 fish0 Peter Bock0 Vimes
0 Christian Seiler
Bin am verzweifeln!
Ich habe eine Site mit 2 Frames erstellt. Im zweiten Frame sind auf 3 Ebenen verschachtelte DIVS. Nun möchte ich von einem Frame auf den zweiten Frame zugreifen, um dort den Text bzw. die Position abzuändern.
Codeausschnitt im 2. Frame:
<div id="oben" style="top:25px">
<div id="details1" style="top:0px">
...
</div>
<div id="details2" style="top:100px">
<div id="kopf" style="top:100px">
kopftext
</div>
<div id="rumpf" style="top:120px">
rumpftext
</div>
<div id="fuss" style="top:150px">
fusstext
</div>
</div>
</div>
Aufruf aus dem 1. Frame:
parent.frames["Auswahl"].document.getElementById("oben").document.getElementById("details2").document.getElementById("fuss").style.top="200px";
Im IE funzt es ohne Probleme (Objekt all etc.). Aber im Netscape 6 (oder höher) krieg ich jedesmal eine Fehlermeldung:
parent.frames["Auswahl"].document.getElementById("oben").document has no properties.
Tatsächlich hört die Fehlermeldung nach diesem document auf! Grundsätzlich muss der Zugriff ja ok sein. Wenn ich nämlich nur ein DIV auf der Seite habe (demzufolge auch nur ein getElementById), funzt es wunderprächtig.
Wo liegt der Fehler?
Wer kann mir helfen?
Vielleicht weiß jemand einen Link, wo erklärt wird, wie man in Netscape-DOM auf verschachtelte DIVs zugreift?
Hallo,
parent.frames["Auswahl"].document.getElementById("oben").document.getElementById("details2").document.getElementById("fuss").style.top="200px";
probier mal lieber jedes <div> einzeln anzusprechen, nicht alle aufeinmal.
Hurra!
Dank an beide - Ihr habt mir sehr geholfen!
Ich dachte, ich könnte per Netscape ähnlich verschachtelt zugreifen, wie das bei IE funktioniert. Deshalb kam also immer nach dem ersten getElementByID für das nächste Objekt eine Fehlermeldung...
Gibts irgendeine brauchbare Möglichkeit per Index und getElementById auf mehrere DIVs zuzugreifen, die alle "fuss" heißen?
Gibts irgendeine brauchbare Möglichkeit per Index und getElementById auf mehrere DIVs zuzugreifen, die alle "fuss" heißen?
Damit bekommst du Probleme, da eine id auch eindeutig sein muss (zumindest für gleiche tags). es geht also nicht, zwei divs mit id="fuss" anzulegen.
Hallo,
Wo liegt der Fehler?
Wer kann mir helfen?
Vielleicht weiß jemand einen Link, wo erklärt wird, wie man in Netscape-DOM auf verschachtelte DIVs zugreift?
Die verschachtelung interessiert DOM nicht die Bohne. Greife direkt mit document.getElementById("fuss") darauf zu. Außerdem ist das nicht Netscape-DOM sondern einfach nur DOM ("Netscape-DOM" wird oft als bezeichnung für document.layers verwendet)
Grüße,
Christian