W3C home > Mailing lists > Public > whatwg@whatwg.org > November 2011

[whatwg] Constructors for HTML Elements

From: Michael A. Puls II <shadow2531@gmail.com>
Date: Mon, 07 Nov 2011 16:01:07 -0500
Message-ID: <op.v4lgn5ty1ejg13@vertiform346>
On Mon, 07 Nov 2011 09:00:14 -0500, James Graham <jgraham at opera.com> wrote:

> There seems to be some interest in making all concrete interfaces in the  
> DOM constructible (there also seems to be some interest in making  
> abstract interfaces constructible, but that seems insane to me and I  
> will speak no further of it).
>
> This presents some special difficulties for HTML Elements as there is  
> not generally one interface per tag (e.g. HTMLHeadingElement is used for  
> h1-h6) and making all zero-argument constructors work seems like a more  
> natural API than sometimes having to say 'new HTMLDivElement()' and  
> sometimes having to say 'new HTMLHeadingElement("h1")'. So the question  
> is whether we can change this without breaking compat. The only problem  
> I foresee is that adding new interfaces would change stringification.  
> But I think it is possible to override that where needed.

You'd have to do HTMLUnkownElement("name") anyway, so new  
HTMLHeadingElement("name") wouldn't be bad.

But, what is the ownerDocument? Will it always be window.document I assume?

Anyway, I think it'd be great to have this. It wouldn't really solve a  
problem except for making code a tiny bit shorter. But, it's kind of  
something that seems like it should work (as in, makes sense, intuitive  
etc.)

Side Note: Opera and Safari don't seem to have HTMLSpanElement and a span  
element stringifies to HTMLElement instead of HTMLSpanElement. Safari  
seems to be missing HTMLUnkownElement.

-- 
Michael
Received on Monday, 7 November 2011 13:01:07 UTC

This archive was generated by hypermail 2.3.1 : Monday, 13 April 2015 23:09:09 UTC