Re: node.insertBefore(child, child)

Ian Hickson wrote:

> Does the spec define what should happen with
> 
>    node.insertBefore(child, child)
> 
> ...?
> 
>>From my reading of the spec [1], what should happen is that first the
> child node should be removed ("If the newChild is already in the tree, it
> is first removed."), then a "NOT_FOUND_ERR" exception should be thrown,
> since the node is no longer in the tree and so can't be found.
> 
> This isn't useful, and isn't what UAs appear to have implemented. Based on
> this testcase:
> 
>    http://hixie.ch/tests/adhoc/dom/core/007-demo.html
> 
> ...Opera, Mozilla, IE6, and Safari all simply ignore the call, not
> changing the DOM and not raising any exceptions.
> 
> Could the spec be clarified to specify this interoperable behaviour?

I understand perfectly the reasons behind your proposal but I hate thinking
of a spec allowing the concept "insert that before itself" without complaining
about an illegal request. After all, it does not mean "do nothing", it really
_means_ nothing at all. It's conceptually non-sense.

</Daniel>

Received on Friday, 28 November 2003 12:07:47 UTC