Thanks a lot for the helpful answers! I see that i shouldn't underestimate the native DOM attributes/methods...
It could be interesting to add this remove/add-to-the-same-place functionality to prototype.js. Well, i don't know if other developers find it as helpful as i do... /AITOR On Feb 19, 6:55 am, RobG <rg...@iinet.net.au> wrote: > On Feb 19, 6:40 am, Aitor Garay-Romero <aito...@gmail.com> wrote: > > > Hi there! > > > I need to remove an arbitray element from the DOM and add it later > > exactly to the same point in the DOM. I wonder is there is a direct > > way to achieve this. Right now i have to check wether the element has > > a previous sibling or directly a parent and remember this information > > to add it back. > > Fairly simple: remember the parentNode and nextSibling, then re-insert > the node using parent.insertBefore(node, nextSibling). If there is no > nextSibling, it will be null and the element will be inserted as the > last child of the parent. Otherwise, it will use the nextSbling. > > e.g. > > function reInsert(id) { > var el = document.getElementById('xx'); > var nextSib = el.nextSibling; > var parent = el.parentNode; > parent.removeChild(el); > setTimeout( function() { > parent.insertBefore(el, nextSib); > }, 1000); > } > > Call the function, pass it an ID. The element will be removed, then > about 1 second later it will be put back. Modify to suit. > > *Do not* use Prototype.js's sibling array as it will remove text > nodes, you certainly don't want to do that. > > -- > Rob --~--~---------~--~----~------------~-------~--~----~ 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 prototype-scriptaculous+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en -~----------~----~----~----~------~----~------~--~---