Element: insertAdjacentHTML()

2024. 4. 15. 10:50Study/JavaScript

insertAdjacentHTML()

인터페이스의 insertAdjacentHTML() 메서드는 지정된 텍스트를 HTML 혹은 XML로 파싱하고 결과 노드들을 지정된 위치의 DOM 트리에 삽입합니다.

 

Syntax

insertAdjacentHTML(position, text)

 

position

요소와 상대적인 위치를 나타내는 문자열입니다. 다음 문자열 중 하나여야 합니다.

beforebegin 요소 이전에 위치합니다. 오직 요소가 DOM 트리에 있고 부모 요소를 가지고 있을 때만 유효합니다.
afterbegin 요소 바로 안에서 처음 자식 이전에 위치합니다.
beforeend 요소 바로 안에서 마지막 자식 이후에 위치합니다.
afterend 요소 이후에 위치합니다. 오직 요소가 DOM 트리에 있고 부모 요소를 가지고 있을 때만 유효합니다.

 

 

text

HTML 혹은 XML로 파싱되고 트리에 삽입되는 문자열입니다.

 

description

insertAdjacentHTML() 메서드는 사용되고 있는 요소를 다시 파싱하지 않아서 해당 요소 내의 기존 요소들을 손상시키지 않습니다. 이는 추가적인 직렬화 단계를 피하므로 직접적인 innerHTML 조작보다 훨씬 빠릅니다.

 

다음과 같이 삽입된 콘텐츠의 가능한 위치를 시각화할 수 있습니다.

<!-- beforebegin -->
<p>
  <!-- afterbegin -->
  foo
  <!-- beforeend -->
</p>
<!-- afterend -->

 

 

example

<select id="position">
  <option>beforebegin</option>
  <option>afterbegin</option>
  <option>beforeend</option>
  <option>afterend</option>
</select>

<button id="insert">Insert HTML</button>
<button id="reset">Reset</button>

<p>
  Some text, with a <code id="subject">code-formatted element</code> inside it.
</p>

 

code { color: red; }

 

const insert = document.querySelector("#insert");
insert.addEventListener("click", () => {
  const subject = document.querySelector("#subject");
  const positionSelect = document.querySelector("#position");
  subject.insertAdjacentHTML(
    positionSelect.value,
    "<strong>inserted text</strong>",
  );
});
const reset = document.querySelector("#reset");
reset.addEventListener("click", () => {
  document.location.reload();
});

 

 

 

 

https://developer.mozilla.org/ko/docs/Web/API/Element/insertAdjacentHTML

 

Element: insertAdjacentHTML() 메서드 - Web API | MDN

Element (en-US) 인터페이스의 insertAdjacentHTML() 메서드는 지정된 텍스트를 HTML 혹은 XML로 파싱하고 결과 노드들을 지정된 위치의 DOM 트리에 삽입합니다.

developer.mozilla.org

 

https://developer.mozilla.org/ko/play

 

MDN Web Docs

The MDN Web Docs site provides information about Open Web technologies including HTML, CSS, and APIs for both Web sites and progressive web apps.

developer.mozilla.org

 

'Study > JavaScript' 카테고리의 다른 글

Debounce & Throttle  (0) 2024.05.23
단축평가 논리연산자 && ||, null병합 ??, 옵셔널체이닝 ?  (2) 2024.05.14
vanillaJS module  (0) 2024.01.09
async, await  (0) 2024.01.04
Callback Hell and Promise  (0) 2024.01.04