既存要素を複製して挿入したい場合、深い複製はnode.( A )(true)で行い、複製結果を親の所定位置へはparent.( B )(clone, reference)で挿入できる。
解答
A: cloneNode
B: insertBefore
解説
cloneNode(true)は子孫までコピー、falseは浅い複製。挿入位置を制御したいときはinsertBeforeで参照ノードの直前に置く。
使用例(サンプルコード)
[ html ]
<ul id="menu">
<li>Home</li><li id="ref">About</li>
</ul>
<script>
const ref = document.getElementById('ref');
const clone = ref.cloneNode(true);
clone.textContent = 'About (copy)';
ref.parentNode.insertBefore(clone, ref);
</script>