W3C home > Mailing lists > Public > www-dom@w3.org > July to September 2011

Re: Node append

From: Anne van Kesteren <annevk@opera.com>
Date: Fri, 30 Sep 2011 15:43:21 +0200
To: www-dom@w3.org, "Erik Arvidsson" <arv@chromium.org>
Cc: "Ojan Vafai" <ojan@chromium.org>
Message-ID: <op.v2mi2jiv64w2qv@annevk-macbookpro.local>
On Thu, 15 Sep 2011 21:37:13 +0200, Erik Arvidsson <arv@chromium.org>  
> This is something that the centithreads regarding Element.create
> reminded me of...
> It would be useful to add an append method to the Node interface. It
> would work as the rest args in Element.create where it would just
> append Nodes to the end of the childNodes and it would toString() and
> create Text nodes for everything else.
> var element = ...;
> element.append(otherNode, "some text", 42, {toString: function() {
> return 'x' }});
> On this topic, it would be useful if the current DOM methods
> (appendChild, insertBefore and replaceChild) could all be changed to
> support Strings too.

I have now overloaded Node.appendChild(), Node.insertBefore(),  
Node.replaceChild(), and Range.insertNode(), with DOMString. If a string  
is passed a Text node representing that string is created and everything  
else will function as normal.

Passing a non-string such as 42 will throw per Web IDL. This does not seem  
like a major problem.

I have deferred adding arrays for now. I need to talk to Cameron (who is  
away) what the best strategy would be for them.

Anne van Kesteren
Received on Friday, 30 September 2011 13:43:42 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 20 October 2015 10:46:18 UTC