Perhaps you intend it, but you're assuming both nodes exist in a DOM  
fragment (and are not the root node of the fragment).

I realize this scenario may be best handled by the developer's use of  
Element.replace instead, but perhaps some error checking will help  
avoid confusion.


TAG

On Sep 23, 2008, at 5:13 AM, Diego Perini wrote:

>
> Hi all,
> I was reading in some LightHouse comments about the new swap method on
> elements and was wondering if the following is interesting for that
> matter. I had it written this way in my simple code:
>
> // nodes to swap (t)arget node, (s)econdary node
> swapNodes:
>    function(t, s) {
>        var n = t.nextSibling, p = t.parentNode;
>        s.parentNode.replaceChild(t, s);
>        p.insertBefore(s, n);
>    }
>
> so I transformed that in to the suggested prototype syntax (kangax):
>
> Element.addMethods({
>  swapWith: function(element, other) {
>    element = $(element);
>    other = $(other);
>    if (element !== other) {
>      var node = element.nextSibling, parent = element.parentNode;
>      other.parentNode.replaceChild(element, other);
>      parent.insertBefore(other, node);
>    }
>    return element;
>  }
> });
>
> Haven't done any test on this, but the above simpler syntax works well
> for me.
>
> --
> Diego Perini
>
>
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Prototype: Core" group.
To post to this group, send email to prototype-core@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/prototype-core?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to