JavaScript

[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()

 


방문 감사합니다. (즐겨찾기 등록: Ctrl + D)

분류 제목
Basic JS - Home (JS입문) + Javascript Framework (프레임워크) 종류
Basic JS - Intro (JS소개)
Basic JS - Where To (JS위치) - JS구문 / JS코드위치 / JS사용법 ※ JS외부링크 주의사항
Basic JS - Output (JS출력= JS쓰기) ★★★★★ document.write() = 다큐먼트라이트
Basic JS - Syntax (JS구문) ★
Basic JS - Statement (JS구문= JS명령문)
Basic JS - Comment (JS주석)
Basic JS - Variable (JS변수) ★★★★★
Basic JS - Operator (연산자) - JS연산자 ★★★★★
Basic JS - Data Type - 데이터유형 ★★★★★ (= 데이터형식 = 데이터타입 = 데이터종류 = 자료형…
Basic JS - Function - JS함수 ★★★★★ ※ 일반함수 특징 2
Basic JS - Object - JS객체 ★★★★★
Basic JS - Scope - JS유효범위 (= JS접근범위 = 변수 종류) ★★★★★★★★★★
Basic JS - Event - JS이벤트 (= JS코드실행방법) ★★★★★
Basic JS - Strings - JS문자열
1/89
목록
  • 채팅방
  • 필독
1. 채팅창 헤드에서 접속자 확인 2. 닉네임 클릭해 1:1 채팅 가능 3. 닉네임 클릭해 귓속말 가능 4. 닉네임 클릭해 호출하기 가능 5. 우하단 클릭해 환경 설정 가능 6. 의뢰글 작성 후 의뢰 상담 가능 7. 질문글 작성 후 질문 상담 가능 8. 채팅방에 개인정보 입력 금지 9. 채팅방에 광고 욕설 비방 금지
 홈  PC버전 로그인 일본어
웹디자인언어
서버관리언어
고급코딩언어
그누보드
제작의뢰
Q&A
커뮤니티
웹유틸
회원센터
홈짱닷컴 PC버전 로그인