불로구

자바스크립트 - DOM 객체 생성, 삽입, 삭제 본문

프로그래밍/JavaScript

자바스크립트 - DOM 객체 생성, 삽입, 삭제

맹이맹이 2020. 6. 22. 01:56
반응형

자바스크립트를 활용해서 HTML 문서의 로드가 완료된 document에 새로운 HTML 태그를 추가할 수 있다.

DOM 객체 동적 생성

- 키워드 : createElement()

- document.createElement("태그이름")을 이용해서 HTML 태그의 DOM 객체를 생성할 수 있다.

- DOM 객체를 생성했으면 innerHTML 프로퍼티를 이용해서 생성한 객체 태그에 HTML 텍스트를 삽입한다.

- 또한, CSS3 스타일 시트도 설정할 수 있다.

let newDiv = document.createElement("div");
newDiv.innerHTML = "새롭게 생성했다!";
newDiv.setAttribute("id", "Ndiv");
newDiv.style.backgroundColor = "blue";

DOM 트리에 삽입

- 앞에서 만든 DOM 객체를 DOM 트리에 삽입하는 과정이다.

부모.appendChild(DOM객체); // DOM 객체를 부모의 마지막 자식으로 삽입
부모.insertBefore(DOM객체 [, 기준자식]); // DOM 객체를 부모의 자식 객체 중 기준 자식 앞 삽입
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div>
        <h2>안녕하세요</h2>
        <hr>
    </div>
    <script>
        let newDiv = document.createElement("div");
        newDiv.innerHTML = "새롭게 생성했다!";
        newDiv.setAttribute("id", "Ndiv");
        newDiv.style.backgroundColor = "blue";
        let par = document.getElementsByTagName("h2")[0];
        par.appendChild(newDiv);
    </script>
</body>
</html>

이렇게 생성 후 삽입된 걸 알 수 있다.

DOM 객체 삭제

- 키워드 : removeChild()

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div>
        <h2>안녕하세요</h2>
        <hr>
    </div>
    <script>
        let newDiv = document.createElement("div");
        newDiv.innerHTML = "새롭게 생성했다!";
        newDiv.setAttribute("id", "Ndiv");
        newDiv.style.backgroundColor = "blue";
        let par = document.getElementsByTagName("h2")[0];
        par.appendChild(newDiv);
        let chi = document.getElementById("Ndiv");
        let chio = chi.parentElement;
        chio.removeChild(chi);
    </script>
</body>
</html>

추가되었던 객체가 사라진 것을 알 수 있다.

cho 변수에 부모 id가 Ndiv인 것의 정보를 담고 chio 변수에 cho의 부모 객체를 담아준다.

그리고 removeChild를 이용해서 삭제를 했다!

반응형
Comments