Simplifying element creation

So far we discussed having Element.create() and having new methods on Node  
that would be more practical than what we have today. Maybe we should  
combine these in some way? Charles proposed some kind of JSON  
serialization, but I do not think it makes sense to tie it to JSON.

It could be something like this:

ELEMENT = [NAME, optional ATTRS, optional EVENT_HANDLERS, TEXT | ELEMENT  
...]

E.g. <div>Hello <a href="/">World</a></div> is represented as:

   ["div", "Hello ", ["a", {href:"/"}, "World"]]

Then the new methods we introduce could accept the above syntax to make it  
easier to append new elements to the DOM.

   ele.append(['div'])

would append a <div> element. If you want to append several elements, you  
would use

   ele.append("Hello ", ["i", "World"])

I.e. append() takes "infinite" arguments.


-- 
Anne van Kesteren
http://annevankesteren.nl/

Received on Tuesday, 4 October 2011 08:31:14 UTC