SO-41429050

by David Thomas

JavaScript

function customClone(n) {
  let temp = n.cloneNode(true);
  Object.keys(n).forEach(
    property => temp[property] = n[property]
  );
  return temp;
}

let html = document.createElement("div"),
  obj = {
    test: 123,
    html: html
  };
html.obj = obj;

let cloned = customClone(html);
console.log(cloned.obj);