JavaScript moving element in the DOM

dom, javascript, jquery

Solution

Trivial with jQuery

$('#div1').insertAfter('#div3');
$('#div3').insertBefore('#div2');

If you want to do it repeatedly, you'll need to use different selectors since the divs will retain their ids as they are moved around.

$(function() {
    setInterval( function() {
        $('div:first').insertAfter($('div').eq(2));
        $('div').eq(1).insertBefore('div:first');
    }, 3000 );
});

Problem

Let's say I have three `<div>` elements on a page. How can I swap positions of the first and third `<div>`? jQuery is fine.

Original source

Related problems