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>  
wrote:
> 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
http://annevankesteren.nl/
Received on Friday, 30 September 2011 13:43:42 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 22 June 2012 06:14:08 GMT