Computer >> 컴퓨터 >  >> 프로그래밍 >> HTML

HTML DOM appendChild() 메서드 완벽 가이드 - 문법과 실전 예제

appendChild() 메서드란?

HTML DOM의 appendChild() 메서드는 지정한 부모 노드의 자식 노드 목록 맨 끝에 새로운 노드를 추가하는 데 사용됩니다. 텍스트 노드나 요소 노드를 동적으로 생성해 삽입할 수 있으며, 이미 존재하는 요소를 현재 위치에서 다른 위치로 이동시키는 용도로도 활용할 수 있습니다.

예를 들어 리스트에 새 항목을 추가하거나, 특정 단락 아래에 새로운 단락을 삽입하는 등 다양한 상황에서 유용하게 사용할 수 있습니다.

기본 문법

appendChild() 메서드의 기본 문법은 다음과 같습니다.

node.appendChild( node )

매개변수 node에는 부모 노드에 추가하고자 하는 객체를 전달합니다. 이 매개변수는 필수 값이므로 반드시 지정해야 합니다.

실전 예제

버튼을 클릭하면 새로운 단락(p) 요소를 생성하여 div 요소에 추가하는 간단한 예제를 살펴보겠습니다.

<!DOCTYPE html>
<html>
<body>
<p>Click the button to create a paragraph and append it to the div</p>
<div id="SampleDIV">
A DIV element
</div>
<button onclick="AppendP()">Append</button>
<script>
    var x=1;
    function AppendP() {
        var paragraph = document.createElement("P");
        paragraph.innerHTML = "This is paragraph "+x;
        document.getElementById("SampleDIV").appendChild(paragraph);
        x++;
    }
</script>
</body>
</html>

실행 결과

위 코드를 실행하면 다음과 같은 화면이 나타납니다.

HTML DOM appendChild() 메서드 완벽 가이드 - 문법과 실전 예제

[Append] 버튼을 3번 클릭한 후의 결과:

HTML DOM appendChild() 메서드 완벽 가이드 - 문법과 실전 예제

코드 상세 분석

위 예제의 동작 원리를 단계별로 살펴보겠습니다.

1. div 요소 준비

먼저 id가 "SampleDIV"인 div 요소를 만들었습니다. 이후 추가되는 노드는 모두 이 div의 자식 노드로 들어갑니다.

<div id="SampleDIV">
A DIV element
</div>

2. 버튼과 이벤트 연결

다음으로 "Append"라는 이름의 버튼을 배치하고, 클릭 시 AppendP() 함수가 실행되도록 onclick 속성으로 연결했습니다.

<button onclick="AppendP()">Append</button>

3. AppendP() 함수의 동작

AppendP() 함수는 먼저 document.createElement("P")를 통해 새로운 단락(p) 요소를 생성하고 변수 paragraph에 할당합니다. 그런 다음 innerHTML을 사용해 단락에 텍스트를 넣는데, 이때 변수 x의 값을 함께 붙여 넣습니다. 변수 x는 [Append] 버튼을 클릭할 때마다 1씩 증가하므로, 클릭 횟수만큼 번호가 매겨진 단락이 계속 추가됩니다. 마지막으로 새로 생성된 단락을 div 요소의 자식 노드로 추가합니다.

var x=1;
function AppendP() {
    var paragraph = document.createElement("P");
    paragraph.innerHTML = "This is paragraph "+x;
    document.getElementById("SampleDIV").appendChild(paragraph);
    x++;
}

정리

appendChild() 메서드는 웹 페이지에서 DOM 구조를 동적으로 조작할 때 가장 기본적이면서도 널리 쓰이는 메서드입니다. 새 요소를 추가하는 것뿐 아니라 기존 요소를 이동시키는 기능도 제공하므로, 동적인 UI를 구현할 때 반드시 알아두어야 할 핵심 API라고 할 수 있습니다.