W. Pichler: innerHTML wirklich ms-spezifisch?

Halli,

In Selhtml 8.0 ../javascript/objekte/all.htm#inner_html wird die Eigenschaft innerHTML unter dem all-Objekt abgehandelt, ist demnach ms-proprietär. Trotzdem wird sie von NS 6 unterstützt.
Feststellung: Also ist Netscape da dem Kokurrenten entgegen gekommen!?
Frage: Wie lautet die Eigenschaft zum Speichern des Inhalts eines HTML-Elements DOM-korrekt, wenn es denn eine andere als innerHTML geben sollte?

Ciao

W. Pichler

  1. Hallo,

    In Selhtml 8.0 ../javascript/objekte/all.htm#inner_html wird die Eigenschaft innerHTML unter dem all-Objekt abgehandelt, ist demnach ms-proprietär. Trotzdem wird sie von NS 6 unterstützt.
    Feststellung: Also ist Netscape da dem Kokurrenten entgegen gekommen!?

    Kann man wohl so sagen und das ist IMHO auch eine gute Entscheidung.

    Frage: Wie lautet die Eigenschaft zum Speichern des Inhalts eines HTML-Elements DOM-korrekt, wenn es denn eine andere als innerHTML geben sollte?

    Eine Moeglichkeit waere das systematische Klonen der childNodes. Hier mal ein Beispiel, welches den Inhalt eines p-Elements
    <span><strong>Text</strong></span>
    in ein neu erzeugtes p-Element einfuegt:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Test by TM 02/02</title>
    <script language="JavaScript" type="text/javascript">
    <!--

    function Klonen()
    {
    var clone1, clone2, clone3, neu, doc=document.getElementsByTagName("p")[0];

    clone1=doc.childNodes[0].cloneNode();
    clone2=doc.childNodes[0].childNodes[0].cloneNode();
    clone3=doc.childNodes[0].childNodes[0].childNodes[0].cloneNode();

    neu=document.createElement("p");
    neu.appendChild(clone1).appendChild(clone2).appendChild(clone3);
    document.getElementsByTagName("body")[0].appendChild(neu);
    }

    //-->
    </script>
    </head>
    <body>
    <form action="">
    <input type="button" value="Test" onclick="Klonen()">
    </form>
    <p><span><strong>Text</strong></span></p>
    </body>
    </html>

    Das muesste man in eine Funktion verpacken, die den Knotenbaum hinabsteigt, bis irgendwann object.childNodes.length den Wert 0 hat.

    MfG, Thomas

  2. Halli,

    Hallo,

    Feststellung: Also ist Netscape da dem Kokurrenten entgegen gekommen!?

    In den Tiefen der Mozilla-Seiten findet sich dazu folgendes:
    http://www.mozilla.org/docs/web-developer/upgrade_2.html#other

    Viele Grüße
    Carsten