<!-- beforebegin (바로 앞) -->
<div id="my-div">
    <!-- afterbegin (안쪽 시작 부분) -->
    Content
    <!-- beforeend (안쪽 끝 부분)-->
</div>
<!-- afterend (바로 뒤) -->
const ele = document.getElementById("my-div");

// 요소 바로 앞 새로운 HTML 삽입
ele.insertAdjacentHTML("beforebegin", "<p>Before begin</p>");

// 요소 안쪽 시작 부분, 즉 첫 번째 자식으로 삽입
ele.insertAdjacentHTML("afterbegin", "<p>After begin</p>");

// 요소 안쪽 끝 부분, 즉 마지막 자식으로 삽입
ele.insertAdjacentHTML("beforeend", "<p>Before end</p>");

// 요소의 뒤에 새로운 HTML 삽입
ele.insertAdjacentHTML("afterend", "<p>After end</p>");
element.insertAdjacentHTML(position, string)
#container {
    border: 1px solid red;
    margin-bottom: 1em;
}
#container span {
    color: red;
}
<!-- beforebegin (바로 앞) -->
<div id="container">
    <!-- afterbegin (안쪽 시작 부분) -->
    <span>Content</span>
    <!-- beforeend (안쪽 끝 부분)-->
</div>
<!-- afterend (바로 뒤) -->
<button type="button" id="btn">HTML 삽입하기</button>
const ele = document.getElementById("container");
const btn = document.getElementById("btn");

btn.addEventListener("click", () => {
    ele.insertAdjacentHTML("beforebegin", "<p>beforebegin 삽입</p>");
    ele.insertAdjacentHTML("afterbegin", "<p>afterbegin 삽입</p>");
    ele.insertAdjacentHTML("beforeend", "<p>beforeend 삽입</p>");
    ele.insertAdjacentHTML("afterend", "<p>afterend 삽입</p>");
});
실제 적용된 모습 '버튼'을 실제로 클릭해 보세요!
const userInput = "<img src='x' onerror='document.cookie)'>";
el.insertAdjacentHTML("beforeend", userInput);