JSFiddle - React, Tailwind, and code Playground
by jfriend00
HTML
<button onclick="doSwap()">Swap</button><br><br>
<ul>
<li id="one">Item A</li>
<li id="two">Item B</li>
<li>Item C</li>
</ul>
JavaScript
function doSwap() {
swapElements(document.getElementById("one"), document.getElementById("two"));
}
function swapElements(obj1, obj2) {
// create marker element and insert it where obj1 is
var temp = document.createElement("div");
obj1.parentNode.insertBefore(temp, obj1);
// move obj1 to right before obj2
obj2.parentNode.insertBefore(obj1, obj2);
// move obj2 to right before where obj1 used to be
temp.parentNode.insertBefore(obj2, temp);
// remove temporary marker node
temp.parentNode.removeChild(temp);
}
document.getElementById("one").addEventListener("click", function() {
alert("A");
}, false);
document.getElementById("two").addEventListener("click", function() {
alert("B");
}, false);