안녕하세요 무택입니다 :)
오늘은 자바스크립트로 HTML 내에 코드를 어떻게 넣을 수 있는지 알아보겠습니다. 필요에 따라 HTML 내에 하드코딩식으로 넣을 수도 있지만 하나의 방법으로 자바스크립트로 어떻게 넣는지 알아보겠습니다🤔
왜 JS를 이용해서 넣을까?
단순히 한 부분에 간단한 코드를 넣는다고 하면 하드코딩으로 직접 HTML 코드를 넣으면 편합니다.
하지만 넣어야 하는 코드가 `input_text`라는 클래스를 가진 요소 앞에 모두 넣으려고 한다면 하드코딩으로 하기 힘듭니다. 그렇기 때문에 JS를 활용하면 특정 클래스나 아이디 등의 관련된 위치에 넣을 수 있는 편의성이 있습니다.
HTML/CSS
<style>
* {text-align: center; font-size: 13px;}
body {width: 300px;}
span {margin: 4px 0 4px 0; display: inline-block;}
.post {width: 300px; height: 200px; background: #3333ff;}
.post p {line-height: 120px; font-size: 16px;}
.post * {color: #fff}
</style>
<!-- beforebegin의 위치 -->
<div class="post"> <!--기준-->
<!-- afterbegin의 위치 -->
<p><strong>post</strong></p>
<!-- beforeend의 위치 -->
</div>
<!-- beforeend의 위치 -->
JS
window.addEventListener('load', function () {
let parent = document.querySelector(".post");
parent.insertAdjacentHTML('beforebegin', "<span>beforebegin의 위치</span>");
parent.insertAdjacentHTML('afterbegin', "<span>afterbegin의 위치</span>");
parent.insertAdjacentHTML('beforeend', "<span>beforeend의 위치</span>");
parent.insertAdjacentHTML('afterend', "<span>afterend의 위치</span>");
});
Codepen
See the Pen [JS]HTML내부에 코드 넣기(위치별) by TytanLee (@TytanLee) on CodePen.
코드 설명
window.addEventListener('load', function () {
기준요소.insertAdjacentHTML('위치', "넣을 코드 내용");
})
사용하는 방법은 위와 같습니다. 기준요소를 잡고 `insertAdjacentHTML`을 이용해서 괄호 안에는 넣을 위치, 코드 내용을 작성해 줍니다.
위치를 가리키는 코드
- beforebegin : 부모가 시작하기 전
- afterbegin : 부모가 시작한 후
- beforeend : 부모가 끝나기 전
- aftereend : 부모가 끝난 후
위 네가지를 이용하면 어떤 위치든 코드를 넣을 수 있습니다.
만약 넣을 코드 내용이 한 줄을 넘어간다면 아래처럼 백틱 기호(~표시 키)를 사용하면 여러 줄의 코드를 넣을 수 있습니다.
window.addEventListener('load', function () {
기준요소.insertAdjacentHTML('위치',`
<div>
<span>JS로 HTML 삽입하기</span>
</div>
`);
})
'🧑💻개발 > JS' 카테고리의 다른 글
[JavaScript]마우스 좌표를 구할 수 있는 다양한 방법 (0) | 2023.10.20 |
---|---|
[JavaScript]다양한 방법으로 페이지 이동시키기(페이지 관련 함수) (2) | 2023.10.11 |
[JavaScript]웹페이지 접속이 오래걸릴때 필요한 기능(로딩화면 구현) (0) | 2023.07.17 |
[JavaScript]스크롤 높이 개념 사진 한장으로 이해하기 (0) | 2023.07.05 |
요소에 클래스 추가하는 함수(js function) (0) | 2023.05.01 |