DOM

1.12 Using cloneNode() to Clone Nodes

Posted by yunki kim on September 1, 2021

  cloneNode()를 사용하면 하나의 노드 또는 하나의 노드와 그의 자식 노드들을 복사할 수 있다. 하나의 노드만 복사하고 싶다면 인자를 넘기지 않으면 되고 하나의 노드와 그의 자식 노드들을 전부 복사하고 싶다면 인자고 ture를 넘기면 된다.

  Element 노드를 복사하게 되면 그의 속성과 값들이 전부 복사 된다. 하지만 addEventListener() 또는 node.onClick으로 추가된 이벤트들은 복사되지 않는다. 또 한 <canvas> 요소로 그려진 이미지도 복사되지 않는다.

  cloneNode()를 사용해 복제된 노드들은 appendChild()와 같은 메서드들을 사용하지 않는 한 문서에 존재하지 않는다.

  cloneNode(true)는 NodeList를 반환하지 않는다.

  cloneNode()는 요소의 id값의 중복을 야기할 수 있다.