Patrick Kasper: Mozilla und Ebenen...

Hallo,

ich hatte das Problem, dass ich mit dem Mozilla eine Ebene, die über ein Div-Tag definiert war, nicht ansprechen konnte, um den Text in ihr zu ändern. Das habe ich dank einem Beitrag aus dem Foren-Archiv hier hinbekommen, nämlich mit

document.getElementById("ebene").firstChild.nodeValue = htmlText;

Das funktioniert so weit einwandfrei, nur kann ich irgendwie kein HTML da reinschreiben, weil es nicht interpretiert wird. Ich bekomme also die ganzen Tags und so weiter als Text ausgegeben also statt einem fetten Text beispielsweise <b>Fetter Text</b>.

Gibt es da ne Möglichkeit, wie ich den Text interpretiert bekomme?

Vielen Dank schonmal!
Gruß Patrick

  1. Hi,

    nur kann ich irgendwie kein HTML da reinschreiben, weil es nicht interpretiert wird. Ich bekomme also die ganzen Tags und so weiter als Text ausgegeben also statt einem fetten Text beispielsweise <b>Fetter Text</b>.

    beschaeftige Dich mal _richtig_ mit den Dom-Methoden, in Deinem Falle vor allem mit:

    document.createTextNode()
    document.createElement()
    document.appendChild()
    document.removeChild()

    Du kannst als Node Value nicht einfach einen weiteren Node "reinschreiben". Den musst Du erzeugen und mit appendChild() in die Hirarchie einfuegen.

    Gruesse, Joachim

    --
    Am Ende wird alles gut.
    1. Hallo,

      ist das nicht ein bischen umständlich, wenn ich jedes mal den vorhandenen Node löschen muss und dann einen neuen erstelle..? Eigentlich will ich den Text doch nur überschreiben und so ist das auch im Selfhtml erklärt.

      http://de.selfhtml.org/javascript/objekte/node.htm#data

      Die Frage ist nur, warum der Browser kein html interpretiert.

      Gruß Patrick

      1. hi,

        http://de.selfhtml.org/javascript/objekte/node.htm#data

        Die Frage ist nur, warum der Browser kein html interpretiert.

        lies doch bitte noch mal nach, wie die beschreibung dieser eigenschaft bei selfhtml lautet.

        gruß,
        wahsaga

        --
        Rest in peace, Dimebag!
        #
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
  2. document.getElementById("ebene").firstChild.nodeValue = htmlText;

    auch Mozilla kann innerHTML.

    Die Methode hat zwar ein paar Nachteile sollte aber um schnell mal eine Ausgabe irgendwohin zu schreiben ausreichen.

    Struppi.

    1. auch Mozilla kann innerHTML.

      ...wie im übrigen, ausser alten Operas und NS-Vierern, alle richtigen Browser. Und innerHTML kann bekanntlich 'ne ganze Menge. =:-)

      Herzlich, twb

      PS: Nein, keine Bange. Ich will den alten DOM-Streit nicht wieder aufwärmen. Ich bin bekanntlich Partei. Zu- und stattgegeben...

    2. Hi,

      und wie benutze ich das dann? Per

      ebene.innerHTML = "hallo";

      funktioniert das nicht...

      Gruß patrick

      1. und wie benutze ich das dann? Per

        ebene.innerHTML = "hallo";

        funktioniert das nicht...

        doch das funktioniert, wenn ebene eine Referenz auf ein HTML Element ist.

        Struppi.

        1. Hilf mir mal bitte auf die Sprünge,

          document.all.ebene.innerHTML = "hallo"; klappt nicht.

          Gruß patrick

          1. Hallo Patrick

            Hilf mir mal bitte auf die Sprünge,

            document.all.ebene.innerHTML = "hallo"; klappt nicht.

            document.all ist IE 4 Syntax und relativ veraltet (meine Version des IE 4 ist von 1997).
            Du hast doch bereits document.getElementById verwendet, warum nicht hier?
            (document.getElementById können alle modernen Browser)

            Struppi.

            1. Hi Struppi,

              Vielen Dank!!! Jetzt gehts!

              Gruß Patrick

            2. Hi,

              (document.getElementById können alle modernen Browser)

              und der IE auch.

              cu,
              Andreas

              --
              Warum nennt sich Andreas hier MudGuard?
              Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.