Удалить cloneNode()

Каким образом возможно удалить клонированный Node ?

<body>
<script type="text/javascript">
function ActivateBox (box) {
var vis = (box.checked) ? true : false;

if(vis)
{
   document.getElementById("visable-element").appendChild(box.cloneNode(false));
}
else
{
   document.getElementById("visable-element").removeChild(box);
}
}
</script>

show/hide: <input type="checkbox" name="multi_note" value="1" onclick="ActivateBox(this)">

<div id="visable-element" style="visability:hidden">
  
</div>
</body>

Ответы (1 шт):

Автор решения: Pavel Grishaev

const visableElement = document.getElementById("visable-element");

function activateBox(checkbox){
  const visible = checkbox.checked;

  if(visible){
    const clone = checkbox.cloneNode(false);
    clone.onclick = ''; // убираем лишний скопированный обработчик
    clone.classList.add('cloned-checkbox');
    visableElement.appendChild(clone);
  } else {
    const clone = visableElement.querySelector('.cloned-checkbox');
    if(clone) clone.remove();
  }
}
show/hide: <input type="checkbox" name="multi_note" value="1" onclick="activateBox(this)">

<div id="visable-element" style="visability:hidden">
  
</div>

→ Ссылка