<object> Kindelemente?

Inspector

Erfahrenes Mitglied
Hi,

ich habe per Javascript ein html object erzeugt und dem ein paar Attribute mitgegeben. Unter Anderem type="text/html" und data="eine url". t so weit.

Jetzt möchte ich per Javascript auf die html-Elemente innerhalb dieses objecs zugreifen. Geht das? Wenn ja, wie?

Bei einem iframe Element scheint es eine Property namens contentWindow zu geben. Diese scheint es bei object nicht zu geben. Iframe ist aber nicht mehr Standard. Hat Jemand Rat?
 
Hi,

wenn Du dem object eine id gibst und es per getElementById auswählst, sollten Dir die Eigenschaften und Methoden des node-Objektes zur Verfügung stehen.

LG
 
Leider nicht. Oder jedenfalls nicht das, was ich haben will.
Code:
var canvas = document.createElement("object");
node.parentNode.insertBefore(canvas,node);
Das erstellt mir das Objekt. und hängt es an der richtigen Stelle ein. Aber:
Code:
canvas.document ...
existiert nicht. Was ich inzwischen herausgefunden habe, ist folgendes: Ich kann indirekt doch darauf zugreifen, wenn ich dieses Konstrukt verwende:
Code:
if (frames['editarea'].document) {
...
}
Vielleicht komme ich darüber weiter. Jetzt müsste ich eventListener erstellen, die auf Tastendruck dort drin einen textNode bearbeiten und das Zeichen, das zu dem Tastendruck dazu gehört, dort einfügt. Dazu ein paar weitere events, die direkt an einer Reihe von buttons kleben, die dort andere Elemente erstellen und einfügen.

Allerdings bin ich jetzt erst mal für ein paar Tage weg. Schade, dass ich das nicht mehr vorher hinbekommen habe. Am 11.2. bin ich voraussichtlich wieder da, dann geht's weiter.
 
Hi,

canvas.document ...

Ich wüsste jetzt nicht, warum ein object ein Unterobjekt document haben sollte...

if (frames['editarea'].document) {

Wie jetzt? Keine iframes, aber frames?

Wenn Du ein Element object erstellt hast, dann gib' dem doch einfach eine ID (also ein Attribut "id" anhängen). Dann solltest Du den Knoten mit document.getElementById("id_von_object") auch auswählen können.

LG
 

Neue Beiträge

Zurück