HaThoV: warum kennt gecko(netscape) kein innerHTML ???

Beitrag lesen

FsmE,

innerHTML ist eine DOM-Erweiterung im IE (ab 4), die man in Gecko und Opera (ab 7) uebernommen hat.

...aber mit Vorsicht zu genießen ist, weil es eben nicht XML-konform ist.

Und ist mit Abstand performanter als die DOM-Methoden. Was ich eigentlich schade finde...

Klar. Die Methode besteht ja auch darin, einen bereits gescannten Ast einfach aus dem Browsercache zu schnmippeln und in eine Varriable zu packen.

DOM-konform muß explizit neu gescannt werden, wenn sich nicht die - ebenso schnelle - Methode cloneNode() einsetzen läßt. Dafür steht einem dann aber der Zugriff auf jedes einzelne Element via DOM zur Verfügung, was bei innerHTML nur bedingt gegeben ist. Je nach Anwendung kannst Du also mit einem DOM-konformen Scan langfristig durchaus schneller sein.

innerHTML wird von Mozilla zwar angeboten, aber ausdrücklich nicht empfohlen. Das Browserverhalten ist auch unterschiedlich. Der IE erledigt alles zuverlässig mit der Motorsäge, Mozilla verlangt allerdings z.B. explizit HTML und läßt beispielsweise den Zugriff auf freie XML-Konstrukte damit nicht zu, auch noch nicht in den Baum eingehängte dynamisch erzeugte Elemente werden dort ignoriert.

Ich verwende innerHTML nur zu Prüfzwecken bei der Programmierung, und dann lasse ich i.d.R. die Motor$äge ran. Die Feinheiten schnitze ich dann nach wie vor von Hand. :-)

In sensibus mistis,
HaThoV

--
Besuchen Sie http://www.4html.de, wenn Sie an einer
Neuen Generation von Web-Publishing mitarbeiten wollen.