jko: Frage zur DOM-Struktur

Zuerst einmal ein freundliches Hallo! in die Runde :)

Zunächst kurz um was es geht, damit man möglicherweise besser versteht wo mein Problem liegt. Ich integriere zur Zeit einen WYSIWYG-Editor. Dieser baut zu einem übergebenen Text eine DOM-Struktur auf, vermutlich um die Kontrolle behalten zu könnnen. Eigentlich ganz praktisch, in meinem Fall aber mit einigen unerwünschten Nebenwirkungen.

Mein Problem liegt darin, dass der übergebene Text nur der "Rohtext" ist, welcher später geparst wird.

Z.b. benötige ich Dinge wie

<select id="meinselectfeld"><%PLATZHALTERFÜRDIEOPTIONEN%></select>

Die Optionen werden also später beim Generieren der eigentlichen Seite an die entsprechende Stelle gesetzt. Der Editor (bzw. Gecko) erkennt nun aber <%PLATZHALTERFÜRDIEOPTIONEN%> nicht als Child an.

document.getElementById('meinselectfeld').childNodes.length

ergibt in Browsern mit der Geckoengine 0, im IE hingegen 1. Aus diesem Grund verschwinden die Platzhalter im IE nicht, aber in Gecko-Browsern.

Hat jemand einen Tipp, wie ich herausbekommen kann, ob sich im DOM-Baum unterhalb von "meinselectfeld" eine Platzhaltervariable (bzw. Text) befindet? Geht das überhaupt?

Viele Dank!

  1. Hi,

    Hat jemand einen Tipp, wie ich herausbekommen kann, ob sich im DOM-Baum unterhalb von "meinselectfeld" eine Platzhaltervariable (bzw. Text) befindet? Geht das überhaupt?

    Vielleicht mit nodeType oder innerHTML. Aber das ist trotzdem ziemlich vage, denn die Konstrukt ist so schlicht ungültiges HTML. Es wäre vielleicht besser, wenn Du für den Platzhalter in ein (hier) gültiges Element verwendest - also sinnvollerweise einen HTML-Kommentar ...

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
    1. Hi,

      Hat jemand einen Tipp, wie ich herausbekommen kann, ob sich im DOM-Baum unterhalb von "meinselectfeld" eine Platzhaltervariable (bzw. Text) befindet? Geht das überhaupt?

      Vielleicht mit nodeType oder innerHTML. Aber das ist trotzdem ziemlich vage, denn die Konstrukt ist so schlicht ungültiges HTML. Es wäre vielleicht besser, wenn Du für den Platzhalter in ein (hier) gültiges Element verwendest - also sinnvollerweise einen HTML-Kommentar ...

      Vielen Dank für die Antwort. nodeType gibt 1 zurück und innerHTML ist leider leer :( Das mit dem Kommentar funktioniert, allerdings muss ich mal schauen ob ich es darüber lösen kann. Dies erfordert einiges an Umstellungen. Für weitere Ideen wie es vielleicht doch geht, bin ich also offen :)