LanX: insertAfter elegant mit insertBefore realisieren

Hi

mir ist aufgefallen, dass sowohl im Firefox als auch im IE node.insertBefore
http://de.selfhtml.org/javascript/objekte/node.htm#insert_before
wie appendChild wirkt wenn der zwote parameter
null ist.

Das ist sehr praktisch um sich ein insertAfter zu konstruieren, weil man dann z.B zum Einfügen von Zeilen in einer Tabelle:

TBODY.insertBefore(neuTR,TR.nextSibling);

schreiben kann, und das ohne Fallunterscheidung für die letzte Zeile (nextSibling liefert dann eben null)

FRAGE

Ist dieses Verhalten von insertBefore gewollter Standard, oder handelt es sich um eine Spezialität der Browser?
Selfhtml sagt da nichts, wo schlägt man die Referenzdefinition für DOM nach?

OK...

Ich hab mir mittlerweile beide Fragen selbst beantwortet, und schicks aus Archivierungsgründen trotzdem ab (insertAfter dürfte oft gesucht werden):

"Inserts the node newChild before the existing child node refChild. If refChild is null, insert newChild at the end of the list of children."

http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-1950641247

Eine Fallunterscheidung für nextSibling = null ist demnach überflüssig!

Die Methode appendChild hätte man sich also auch gleich sparen können, weil insertBefore mit einem Parameter die identische Wirkung hat...

Tschau
Rolf

  1. Habs als Ergänzung für die Doku vorgeschlagen...

    http://bugs.selfhtml.org/bug.php?op=show&bugid=761