본문 바로가기
programming/javascript

DOM cloneNode()

by hotdogya 2012. 8. 7.

/*
노드복사란?
특정노드를 복사해서 재사용 할 수 있는 메소드 제공
*/
/*
cloneNode
cloneNode메소드는 특정 노드를 복사할 수 있다.
메소드는 새로 복사된 노드를 반환
*/
//구문
reference = node.cloneNode(deep);
/*
참거짓의 불린값을 인수로 가짐
새로 만들어진 노드가 복사한 노드와 같은 형태를 띠고 있는지 여부를 확인하는것.
인수가 참이면 새로 만든 노드는 복사한 노드와 같은 자식을 가짐
거짓이면 자식노드가 없다.
만일 노드가 요소노드인 경우 
원래 요소내 모든 텍스트 노드가 복사되지 않았다는것을 의미하는것으로 속성만 복사된다
*/
//구문
reference = node.cloneNode(true);
reference = node.cloneNode(false);
/*
reference 는 노드객체이다.
이 reference노드는 원래 node를 복사해서 같은 nodeType과 nodeName프로퍼티를 갖게됨
*/
var para = document.createElement("p");
var newpara = para.cloneNode(false);
var msg = document.createTextNode("안녕");
var newmsg = msg.cloneNode(false);
var para = document.createElement("p");
var msg = document.createTextNode("안녕");
para.appendChild(msg);
var newpara = para.cloneNode(true);
//true 쓰면 자식텍스트 노드까지 복사, false는 p요소까지만 복사
[출처] DOM cloneNode()|작성자 여우별