Re: Improving the DOM

I'm very happy with this. To summarize, append/prepend are on
Element+DocumentFragment and all the other methods are on
Element+CharacterData.

Anne, pointed out on #whatwg that Comment and ProcessingInstruction can
appear as children of the Document, so we'd have to check the parent and
throw, e.g. if you call replace on a comment that is the child of the
Document with a DocType. That kind of sucks, but I don't see that putting
all these methods on Element+TextNode would be better. I'd prefer that if
we could get away with it, but I think we probably can't because then a
simple for-loop removing all the children of a node would need to make sure
they have a remove method first.

Ojan

On Tue, Nov 8, 2011 at 2:37 PM, Anne van Kesteren <annevk@opera.com> wrote:

> On Tue, 08 Nov 2011 16:22:32 -0700, Jake Verbaten <raynos2@gmail.com>
> wrote:
>
>> On Tue, Nov 8, 2011 at 9:30 PM, Anne van Kesteren <annevk@opera.com>
>> wrote:
>>
>>> We introduce these methods on Element, DocumentFragment, and
>>> CharacterData:
>>>
>>
>>  before(DocumentContent... nodes)
>>> after(DocumentContent... nodes)
>>>
>>
>> What does DocumentFragment before and after do?
>>
>
> Good point, they should not be on DocumentFragment.
>
>
>
>  We introduce this method on Element and CharacterData:
>>>
>>> replace(DocumentContent... nodes)
>>>
>>> We introduce this method on DocumentType, Element, and CharacterData:
>>>
>>> remove()
>>>
>>
>> Why can we remove a DocumentType but not do anything else with it? That
>> makes the API anti symmetrical to me
>>
>
> Yeah, lets not introduce it on DocumentType. People should not be using
> DocumentType anyway.
>
>
>
> --
> Anne van Kesteren
> http://annevankesteren.nl/
>
>

Received on Wednesday, 9 November 2011 01:03:16 UTC