Hi Philipp
Was könnten denn das für Objekte sein? Sehe ich das richtig, dass der eine Lösungsvorschlag das Objekt [H1] anspricht?
Kann ich auch den Inhalt einer Tabellenzelle ändern?
Ja, das geht. Nach deiner Beschreibung bist du ganz grob mit JS vertraut,
ich fang hier jetzt mal nicht an, mich mit dir durch den Objektbaum zu hangeln.
Eine einfache Art, auf ein Objekt zuzugreifen ist über die Methode "getElementById()" des "document-Objektes".
Dazu mußt du deiner Tabellenzelle eine "id" verpassen:
<td id="dieZelle">TEXT</td>
Jetzt kannst du in einer Variablen eine Referenz auf dieses Objekt speichern und weiterverwenden:
var zelle=document.getElementById('dieZelle');
wenn dein Skript im Links-Frame notiert ist (was ich empfehle), muß es dort natürlich heißen:
var zelle=top.oben.document.getElementById('dieZelle');
oder:
var zelle=parent.parent.oben.document.getElementById('dieZelle');
damit hast du dann die Referenz auf die entsprechende Tabellenzelle.
Wenn in der Zelle schon Text steht enthält sie einen Textknoten.
Ist nichts anderes in der Zelle notiert, ist der Textknoten der einzige Kindknoten der Zelle und du kannst ihn so ansprechen:
var text=zelle.childNodes[0];
Somit ist in der Variablen "text" eine Referenz auf den Textknoten in der Zelle gespeichert. Den Wert des Textknotens kannst du jetzt so ändern:
text.nodeValue='NEUER TEXT';
Das geht natürlich auch am Stück:
parent.parent.oben.document.getElementById('dieZelle').childNodes[0].nodeValue='NEUER TEXT';
Hab das jetzt mal alles mit "document.getElementById()" gemacht, ist so am einfachsten nachzuvollziehen denke ich.
Das versteht der NS4.x noch nicht, dazu brauchts schon NS6.x oder höher. Der IE verstehts ab 5.0 .
Das Ganze ist auch machbar, wenn die Zelle noch keinen Text enthält.
Dann muß man halt erst einen Textknoten erzeugen. Wenn dirs bis hierher verständlich ist und du interessierst dich auch noch für die Erzeugung eines Textknotens, dann poste ruhig nochmal, auch wenn du irgendwelche Probleme damit hast.
Nimm dir auch die Anmerkungen der anderen zu Javascript, Frames und den Verzicht darauf zu Herzen.
Ich denke, die Vorbehalte haben durchaus auch ihre Berechtigung, werden mir halt immer etwas zu undifferenziert und pauschal vorgebracht.
Diese Techniken haben ja auch ihre Vorteile und wenn diese sinnvoll eingesetzt werden, denke ich schon darüber nach, ob ich diese Vorteile dem Großteil der Benutzer vorenthalten soll, nur damit auch der mit dem IE 3.0 und der mit dem NS 2.0 die Seite genauso sieht wie alle anderen.
gruß
ptr