본문 바로가기
02_STUDY/JavaScript

[ JavaScript ] insertBefore()보다 더 편리하게 쓸 수 있는 insertAdjacentElement(), 특정 위치에 요소 추가하기

by zestlumen 2023. 8. 4.

insertAdjacentElement()

DOM요소에 새로운 요소를 특정 위치에 추가하는 기능을 제공하는 메서드.

( * 'adjacent: 인접한'이란 뜻으로 아마 인접한 위치에 요소를 추가하기에 )

 

element.insertAdjacentElement(position, newElement);

 

element 기준이 되는 요소

position 새로운 요소를 추가할 위치를 지정하는 문자열

- beforebegin 요소 바로 앞에 추가

- afterbegin 요소의 첫 번째 자식으로 추가

- beforeend 요소의 마지막 자식으로 추가

- afterend 요소의 바로 뒤에 추가

newElement 추가할 새로운 DOM 요소

 

 

insertAdjacentElement()는

전에 많이 사용했던 insertBefore()보다 다양한 위치에서 요소를 추가할 수 있고

HTML문자열 또는 기존의 DOM요소를 파싱하지 않고도 요소를 추가할 수 있다.

(참고로 insertBefore()도 DOM트리를 다시 파싱하지 않음)

코드가 조금 더 간단하고 직관적이다.

그렇지만 ES6 기능이므로 브라우저 호환성을 생각해서 사용해야 한다.

 

 

 

HTML

 

<body>
    <div id="standard">
        기준이 되는 요소
    </div>
</body>

 

 

JS

 

//기준 노드 가져오기
const standard = document.getElementById('standard');

//새로운 요소 생성
const title = document.createElement('h2');
title.textContent = "제목";
const newDiv = document.createElement('div');
newDiv.textContent = "뒤에 추가된 요소";

//요소 바로 앞에 추가
standard.insertAdjacentElement('beforebegin', title);
//요소 바로 뒤에 추가
standard.insertAdjacentElement('afterend', newDiv);

 

결과화면