appendChild 메서드

appendChild 메서드는 어떤 요소의 끝에 다른 요소를 삽입할 수 있게 해줍니다. 주로 createElement로 요소를 생성한 후 사용됩니다.

문법

javascript부모.appendChild(요소);

예제

문단을 생성하고 텍스트를 설정한 후 #parent 블록의 끝에 페이지에 넣어봅시다:

html<div id="parent">
  <p>1</p>
  <p>2</p>
  <p>3</p>
</div>
javascriptlet parent = document.querySelector('#parent');

let p = document.createElement('p');
p.textContent = '!';

parent.appendChild(p);

코드 실행 결과:

html<div id="parent">
  <p>1</p>
  <p>2</p>
  <p>3</p>
  <p>!</p>
</div>

예제

ul 태그가 주어졌습니다. 여기에 9개의 li 태그를 배치하고, 그들의 텍스트를 순번으로 만들어 봅시다:

html<ul id="parent"></ul>
javascriptlet parent = document.querySelector('#parent');

for (let i = 1; i <= 9; i++) {
  let li = document.createElement('li');
  li.textContent = i;
  parent.appendChild(li);
}

코드 실행 결과:

html<ul id="parent">
  <li>1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
  <li>5</li>
  <li>6</li>
  <li>7</li>
  <li>8</li>
  <li>9</li>
</ul>

예제

테이블을 tr과 td로 채워봅시다:

html<table id="table"></table>
javascriptlet parent = document.querySelector('#parent');

for (let i = 1; i <= 3; i++) {
  let tr = document.createElement('tr'); // tr 생성
  
  // tr을 td로 채움:
  for (let j = 1; j <= 3; j++) {
    let td = document.createElement('td'); // td 생성
    td.textContent = j; // 텍스트 입력
    
    tr.appendChild(td); // 생성된 td를 tr 끝에 추가
  }
  
  table.appendChild(tr); // 생성된 tr을 테이블 끝에 추가
}

코드 실행 결과:

html<table id="table">
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
  </tr>
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
  </tr>
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
  </tr>
</table>

함께 보기