Hi Rob,

> I don't think there's any need to remove then insert, you can just
> insert the node in the new location.

Thanks!  You're right (of course!), it's right there in the spec from
day 1:
http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#method-insertBefore

> and the function becomes:
>
>   function moveDown(el) {
>     var next = $(el).next();
>     el.parentNode.insertBefore(el, next.nextSibling);
>   }

What is it's already the bottom element?  'next' will be undefined, so
'next.nextSibling' will raise an error.  That's what the branch is
there to handle.

Handling that and allowing for text nodes we want to ignore:

    function moveDown(el)
    {
        var next;

        el = $(el);
        next = el.next();
        if (next)
        {
            el.parentNode.insertBefore(el, next.next());
        }
    }

Still an improvement over my original, in that there's no need for us
to go through Prototype's Element.insert() when we can just use the
DOM's insertBefore -- not that this is likely to be in some massive
loop. :-)

[snip]
--
T.J. Crowder
tj / crowder software / com

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to prototype-scriptaculous@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-scriptaculous?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to