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 -~----------~----~----~----~------~----~------~--~---