JavaScript

[DOM_Element] JS - cloneNode() 메서드 - 노드복사

cloneNode() 예제

 

<ul id="hz"><li>홈짱닷컴</li><li>Homzzang.com</li></ul>

<ul id="code"><li>HTML</li><li>CSS</li></ul>


<button onclick="homzzang()">클릭</button>


<script>

function homzzang() {

  var item = document.getElementById("code").lastChild;

  var copy = item.cloneNode(true);

  document.getElementById("hz").appendChild(copy);

}

</script>

 

결과보기

 

 

주의: 아래처럼 리스트 관련 코드가 줄바꿈 되어 있는 경우, 정상작동 안 함.

 

<ul id="hz">

  <li>홈짱닷컴</li>

  <li>Homzzang.com</li>  

</ul>

<ul id="code">

  <li>HTML</li>

  <li>CSS</li>  

</ul>


<button onclick="homzzang()">클릭</button>


<script>

function homzzang() {

  var item = document.getElementById("code").lastChild;

  var copy = item.cloneNode(true);

  document.getElementById("hz").appendChild(copy);

}

</script>

 

결과보기

 

 

에러 원인: 

 

1.

요소 안 공백은 text로 간주되며, text는 노드로 간주됨.

 

2.

첫 번째 <li> 앞에 공백 존재 시, 결과값은 "undefined" 나옴.


 

 


분류 제목
DOM_Attribute JS - attr.isSupported() 메서드 -
DOM_Attribute JS - attr.lastChild -
DOM_Attribute JS - attr.nextSibling -
DOM_Attribute JS - attr.nodeName - 사용금지 (※ 대신, attr.name 사용)
DOM_Element JS - attr.nodeType -
DOM_Attribute JS - attr.nodeValue -
DOM_Attribute JS - attr.normalize() 메서드 - 사용금지
DOM_Attribute JS - attr.ownerDocument -
DOM_Attribute JS - attr.ownerElement -
DOM_Attribute JS - attr.parentNode -
DOM_Attribute JS - attr.previousSibling -
DOM_Attribute JS - attr.removeChild -
DOM_Attribute JS - attr.replaceChild -
DOM_Attribute JS - attr.textContent -
Basic JS - const (컨스트 = 콘스트) ★★★★★ - 재할당 불가한 변수선언
28/89
목록
 홈  PC버전 로그인 일본어
그누앞단언어
그누뒷단언어
그외코딩언어
그누보드
제작의뢰
Q&A
커뮤니티
웹유틸
회원센터
홈짱닷컴 PC버전 로그인