Re: Convenient way to create element and set its attributes at once
"Tab Atkins Jr." <[email protected]>
| Newsgroups | gmane.comp.web.dom.general |
|---|---|
| Message-ID | <CAAWBYDC96yZaad8S1oonWbzCfS22hTjdhZ66QZ7oJGBsEXMz_Q@mail.gmail.com> |
On Mon, Dec 2, 2013 at 10:32 AM, Domenic Denicola <[email protected]> wrote: > From: Tab Atkins Jr. <[email protected]> >> It would be useful for HTML to do the same, so you could call "new HTML.div(...)" instead of "new HTMLDivElement(...)". > > This seems like a really cool plan. (Although of course ES6 modules would be better, but, no need to hold up the platform waiting for them... namespaces are fine in the meantime.) Agreed. >> It would also let us establish a one-to-one constructor to tagname correspondence, so "HTML.h1()" works instead of "HTMLHeadingElement('h1',...)". > > I guess it would not be a constructor in that case though, i.e. you'd do `var myH1 = HTML.h1()` instead of `var myH1 = new HTML.h1()`, since otherwise you would break the `new X instanceof X` invariant. Hm, I don't understand. instanceof just walks the prototype chains, and the functions denoted by "HTMLHeadingElement" and "HTML.h1" can have the same prototype. I suspect I'm missing something in your statement. ~TJ