How to move an element in the DOM?

31,143

Rather than duplicating, just do this:

document.getElementById('wrapperA').appendChild(document.getElementById('superWidget'));
Share:
31,143
user1031947
Author by

user1031947

Updated on December 30, 2020

Comments

  • user1031947
    user1031947 over 3 years

    I have an element #superWidget in the DOM that is very interactive. It uses jquery UI sortable, draggable, and a bunch of other plugins.

    <div id="wrapperA"></div>
    <div id="wrapperB">
      <div id="superWidget"></div>
    </div>
    

    I want to change the position of #superWidget in the DOM. I want to remove it from #wrapperB and place it in #wrapperA.

    <div id="wrapperA">
      <div id="superWidget"></div>
    </div>
    <div id="wrapperB"></div>
    

    I have tried the following...

    var copy = $("#superWidget").clone(true, true);
    $("#superWidget").remove();
    $("#wrapperA").append(copy);
    

    ...however this breaks a lot of the plugins.

    I do not want to have to rebind everything. Is there a better way to do this? (I notice that jquery UI sortable is somehow able to move elements around in the DOM without breaking any interactivity... there must be a way.)

    Thanks (in advance) for your help