dom_dom0700_001

子要素まで含めてノードを複製したいときは node.( A ) に true を渡す。子要素を含まない複製は node.cloneNode(( B )) のようにする。

解答

A: cloneNode
B: false

解説

cloneNode(true) は深い複製(deep clone)で、子孫ノードまでコピーします。cloneNode(false) は浅い複製で、要素自身のみを複製します。

使用例(サンプルコード)

[ html ]

<ul id="src"><li>item<span> detail</span></li></ul>
<ul id="dst"></ul>
<script>
  const li = document.querySelector('#src li');
  const deep = li.cloneNode(true);   // 子孫ごとコピー
  const shallow = li.cloneNode(false); // 自身のみ
  document.querySelector('#dst').append(deep, shallow);
</script>