• 회원가입
  • 로그인
  • 구글아이디로 로그인

[DOM_Element] JS - replaceChild() 메서드 - 자식노드 대체 (= replaceChild메서드 = 리플레이스차일드 메서드)

목차
  1. replaceChild() 예제 - 자식노드 대체
  2. replaceChild() 정의
  3. replaceChild() 구문
  4. replaceChild() 예제 - 기존 <li> 요소를 새 <li> 요소로 대체

 

replaceChild() 예제 - 자식노드 대체

 

<ul id="hz"><li>홈짱닷컴</li><li>홈페이지제작</li><li>서버관리</li></ul>


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


<script>

function homzzang() {

  var text = document.createTextNode("Homzzang.com");

  var list = document.getElementById("hz").childNodes[0];

  list.replaceChild(text, list.childNodes[0]);

}

</script>

 

결과보기 (홈짱닷컴 → Homzzang.com)

 

replaceChild() 정의

 

자식노드를 새 노드로 대체.

 


 

1.

새 노드는 문서의 기존 노드이거나 새 노드 생성 가능.

 

2. cf.

removeChild() 메서드 - 요소에서 자식노드 제거

 

3.

  • 모든 브라우저 지원.
  • Core Level 1 Node Object

 

 

 

replaceChild() 구문

 

node.replaceChild(newnode, oldnode)

 


[매개변수]

 

newnode

필수. 새 노드 지정. (node type)

 

oldnode

필수. 제거할 노드 지정. (node type)

 


[반환값]

 

대체된 노드를 나타내는 노드 객체 반환.

 

 

replaceChild() 예제 - 기존 <li> 요소를 새 <li> 요소로 대체

 

<ul id="hz"><li>HTML</li><li>CSS</li><li>JS</li></ul>


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


<script>

function homzzang() {

  var emt = document.createElement("li");

  var txt = document.createTextNode("JavaScript");

  emt.appendChild(txt);


  var hz = document.getElementById("hz");

  hz.replaceChild(emt, hz.childNodes[2]);

}

</script>

 

결과보기 (JS → JavaScript)


[주의] - 아래처럼 줄바꿈 되어 있으면, 엉뚱한 곳이 바뀜.

(∵ 공백도 하나의 노드로 간주)

 

<ul id="hz">

    <li>HTML</li><li>CSS</li><li>JS</li>

</ul>


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


<script>

function homzzang() {

  var emt = document.createElement("li");

  var txt = document.createTextNode("JavaScript");

  emt.appendChild(txt);


  var hz = document.getElementById("hz");

  hz.replaceChild(emt, hz.childNodes[2]);

}

</script>

 

결과보기 (CSS → JavaScript)

 



분류 제목
DOM_Element JS - isDefaultNamespace() 메서드 - 네임스페이스가 기본값인지 체크
DOM_Element JS - isEqualNode() 메서드 - 노드 동일여부 비교 (IE9 이상)
DOM_Element JS - isSameNode() 메서드 - 노드 동일여부 비교 (IE9 이상. cf. Firefox 지원X)
DOM_Element JS - isSupported() 메서드 - 지정기능이 지정노드에 지원되는지 확인 (※ 사용 비권장)
DOM_Element JS - lang 속성 - 요소의 lang 속성값 설정/반환
DOM_Element JS - lastChild 속성 ★ = 마지막자식노드 (= lastChild속성 = 라스트차일드 속성)
DOM_Element JS - lastElementChild 속성 - 마지막 자식요소 (IE9 이상)
DOM_Element JS - namespaceURI 속성 - 네임스페이스URI (IE9 이상)
DOM_Element JS - nextSibling 속성 - 바로다음 형제노드
DOM_Element JS - nextElementSibling 속성 - 바로다음 형제요소 (IE9 이상)
DOM_Element JS - nodeName 속성 - 노드명 (= 노드이름)
DOM_Element JS - nodeType 속성 ★ - 노드타입 반환 (읽기전용) ※ 노드유형 = 노트형식 = 노드종류
DOM_Element JS - nodeValue 속성 - 지정노드의 노드값 설정/반환 (= nodeValue속성 = 노드밸류속성)
DOM_Element JS - normalize() 메서드 - 공백제거 후, 인접텍스트노드 합치기 (Element경우)
DOM_Element JS - offsetHeight 속성 - 가시높이 (= 요소실제높이 = 요소높이 height+ + paddi…
DOM_Element JS - offsetWidth 속성 ★ = 가시너비 (= 요소실제너비 = 요소너비 width + paddin…
DOM_Element JS - offsetLeft 속성 - 가시좌측위치 (= 가시왼쪽위치) (IE8 이상)
DOM_Element JS - offsetParent 속성 - static 이외의 position 갖는 최근접조상요소 (= 가장가…
DOM_Element JS - offsetTop 속성 - 가시 상단 위치 (IE8 이상)
DOM_Element JS - ownerDocument 속성 - 노드의 소유자문서를 HTMLDocument 객체로 반환
29/67
목록
찾아주셔서 감사합니다. Since 2012