通过insertAdjacentElement克隆元素,而不是“剪切”它

Dpu*_*tti 1 javascript

我正在尝试将元素克隆到DOM中的新位置。我正在使用,insertAdjacentElement但这似乎只是将其“剪切并粘贴”到新位置。是否可以克隆该元素?

document.getElementById('subNav').insertAdjacentElement(
  'afterbegin', 
  document.getElementById('main_0_columnb_0_PanelMenu')
);
Run Code Online (Sandbox Code Playgroud)

小智 5

您可以使用以下cloneNode方法复制和粘贴html元素:

document.getElementById('subNav').insertAdjacentElement(
    'afterbegin', 
    document.getElementById('main_0_columnb_0_PanelMenu').cloneNode(true)
); 
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参见此处。传递给的参数cloneNode指示是仅复制节点(浅副本)还是复制带有子节点的节点(深副本)。true代表深层副本。