- From: James Graham <jgraham@opera.com>
- Date: Tue, 04 Oct 2011 12:52:11 +0200
- To: www-dom@w3.org
On Tue 04 Oct 2011 11:18:18 AM CEST, Dominic Cooney wrote: > On Tue, Oct 4, 2011 at 5:30 PM, Anne van Kesteren<annevk@opera.com> wrote: >> 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"]] > > This is good in that it doesn't require any new bound identifiers. > > I think readability suffers a bit because element names and text are > both strings. > > If you want to pass a list of children as a parameter, there is also > no good serialization for it. Using a list is weak because it is the > same type as an element. You can use Element.append.apply. It's not wonderful but it's OK I think. > What about using constructor functions for elements? [HTMLDivElement, > 'Hello ', [HTMLAElement, {href: '/'}, 'World']]. That doesn't work because they're not constructor functions; they're interface objects and multiple elements can have the same interface (HTMLHeadingElement for example).
Received on Tuesday, 4 October 2011 10:52:51 UTC