- From: Erik Arvidsson <arv@chromium.org>
- Date: Tue, 4 Oct 2011 17:06:32 -0700
- To: Roland Steiner <rolandsteiner@google.com>
- Cc: Dominic Cooney <dominicc@chromium.org>, Anne van Kesteren <annevk@opera.com>, "www-dom@w3.org" <www-dom@w3.org>
- Message-ID: <CAJ8+GohJiDc+ZikE+e0OBHQHkTpYjE_1UNTpMHVwHgQ=YXoMuQ@mail.gmail.com>
Ojan filled me in on this. I'm less negative to it now. element.append(...pattern) // var args of Pattern With EBNF like definition Pattern : Node String ElementPattern ElementPattern : '[' TagName ( ',' Attrs? ( ',' EventHandlers? (, Pattern)* )? )? ']' The Text production creates a Text node The ElementPattern creates an Element with the given tag name, attribtues, event handlers and its child nodes are provided by the rest patterns. For example: element.append('Hello', ['b', null, null, 'world']) would be the same as element.insertAdjacentHTML('beforeend', 'Hello <b>world</b>') erik On Tue, Oct 4, 2011 at 16:48, Erik Arvidsson <arv@chromium.org> wrote: > Others have pointed this out put I find it very confusing that a > string is not treated as Text node in all cases. > > I don't believe append should be responsible for creating new Elements. > > erik > > > > > > > > > On Tue, Oct 4, 2011 at 16:28, Roland Steiner <rolandsteiner@google.com> > wrote: > > On Tue, Oct 4, 2011 at 6:18 PM, Dominic Cooney <dominicc@chromium.org> > > wrote: > >> > >> On Tue, Oct 4, 2011 at 5:30 PM, Anne van Kesteren <annevk@opera.com> > >> wrote: > >> > E.g. <div>Hello <a href="/">World</a></div> is represented as: > >> > > >> > ["div", "Hello ", ["a", {href:"/"}, "World"]] > >> > >> I think readability suffers a bit because element names and text are > >> both strings. > > > > It also invites errors, e.g., ["style", "scoped"] (missing curly > brackets) > > But I think it's worse than just readability: > > .) you cannot have text nodes that contain a string that could be an > element > > name, e.g., ["dl", ["dt", "object"], ["dd', "the base class of the type > > hierarchy"]]. > > .) later on you cannot introduce new HTML elements, because someone might > > have used that element's name as a text string with the above syntax. > > > > Cheers, > > - Roland > > >
Received on Wednesday, 5 October 2011 00:07:20 UTC