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

[DOM_Element] JS - appendChild() 메서드 - 요소에 마지막 자식요소생성 (= 마지막 자식요소추가 = appendChild메서드 = 어펜드차일드메서드) ※자식요소 자동생성

appendChild() 예제

 

<ul id="code">

  <li>HTML</li>

  <li>CSS</li>

</ul>


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


<script>

function hz() {

  var node = document.createElement("LI"); // 요소 생성

  var textnode = document.createTextNode("JS"); // 내용 생성

  node.appendChild(textnode); // 요소에 내용 결합

  document.getElementById("code").appendChild(node); // 기존요소에 생성요소 결합

}

</script>

 

결과보기 

 

 

appendChild() 정의

 

1.

아래 용도로 사용 가능
① 노드를 어떤 노드의 마지막 자식으로 추가.
② 어떤 요소를 한 요소에서 다른 요소로 이동시킬 때도 사용.

② 어떤 요소에 텍스트 추가할 때 사용


2.
텍스트 가진 단락을 문서에 추가하려면 먼저 text 생성 노드 이용해 text 생성 필요.
text 생성해 단락에 붙인 다음, 그 단락을 문서에 추가.

 

3.

노드를 어떤 노드의 첫 자식으로 추가하려면 아래 코드 이용.
insertBefore()

 

5.
주요 최신 브라우저 모두 지원.

 

※ 노드 (Node) : 네트워크에서 연결 포인트 혹은 데이터 전송의 종점 혹은 재분배점

 

 

 

appendChild() 구문

 

node1.appendChild(node2)

 

 

[매개변수]

node2

필수. 부착할 자식 노드 객체. (예) <li>JS</li>

 

 

cf.
node1
자식노드인 node2가 추가되는 부모 요소 (예) <ul id="code"> ~ </ul>

 

 

 

appendChild() 예제1 - 자식요소 이동

 

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

<ul id="code2"><li>PHP</li><li>SQL</li><li>JS</li></ul>


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


<script>

function hz() {

  var node = document.getElementById("code2").lastChild;

  document.getElementById("code1").appendChild(node);

}

</script>

 

결과보기

※ code2의 마지막 자식을 code1의 마지막 자식으로 이동

 

 

appendChild() 예제2 - 요소 생성 후 텍스트 추가. 생성요소를 다른요소 자식으로 추가

 

<style>

#box {

  border: 1px solid silver;

  margin-bottom: 10px;

}

</style>


<div id="box">

홈짱닷컴

</div>


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


<script>

function hz() {

  var txt = document.createElement("P");

  txt.innerHTML = "Homzzang.com";

  document.getElementById("box").appendChild(txt);

}

</script>

 

결과보기

 

 

appendChild() 예제3 - 요소 생성 후 텍스트 추가. 생성요소를 body 태그에 바로 추가

 

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


<script>

function hz() {

  var x = document.createElement("P");

  var t = document.createTextNode("홈짱닷컴 Homzzang.com");

  x.appendChild(t);

  document.body.appendChild(x);

}

</script>

 

 

appendChild() 예제 - 클래스 가진 자식요소 자동생성

 

<div class="grid-container">

</div>


<script>

// 아이템 1 ~ 16 생성

for (let i = 1; i <= 16; i++) {

  const div = document.createElement("div");

  div.textContent = i;

  div.classList.add(`item${i}`);

  document.querySelector(".grid-container").appendChild(div);

}

</script>

 

 

 

관련 메서드

 

element.hasChildNodes() - 자세히 보기

element.insertBefore()

element.removeChild()

element.replaceChild()


document.createElement()

document.createTextNode()

document.adoptNode()

document.importNode()

 



분류 제목
DOM_Event JS - paste -
DOM_Event JS - pause -
DOM_Event JS - play -
DOM_Event JS - playing -
DOM_Event JS - popstate -
DOM_Event JS - progress -
DOM_Event JS - ratechange 이벤트 - 재생 속도 변경 이벤트 (= ratechange이벤트 = 레이트체인지…
DOM_Event JS - resize 이벤트 (= onresize 속성) - 윈도우 창크기 변경 조정 (= resize이벤트…
DOM_Event JS - reset -
DOM_Event JS - scroll 이벤트 (= onscroll 속성) ★ - 스크롤이벤트
DOM_Event JS - search 이벤트 (= onsearch 속성) - 검색이벤트 (IE와 FireFox는 지원 X)
DOM_Event JS - seeked -
DOM_Event JS - seeking -
DOM_Event JS - select 이벤트 (onselect 속성) = 텍스트 선택 (= select이벤트 = 실렉트이벤트…
DOM_Event JS - show 이벤트 (= onshow 속성) - <menu> 요소가 상황에 맞는 메뉴로 표시 될 때 발…
DOM_Event JS - stalled 이벤트 - 브라우저가 미디어 데이터 사용 불가 시 실행. (= 스톨드 이벤트)
DOM_Event JS - storage -
DOM_Event JS - submit 이벤트 (= onsubmit 속성) - 제출/전송 이벤트 (= 서브밋 이벤트 = 서브미…
DOM_Event JS - suspend 이벤트 (onsuspend 속성) - 브라우저가 의도적으로 미디어 데이터 안 가져올 …
DOM_Event JS - timeupdate 이벤트 - 오디오/비디오 재생 위치 변경 발생 (= timeupdate이벤트 =…
34/67
목록
찾아주셔서 감사합니다. Since 2012