본문 바로가기

WINK-(Web & App)/HTML & CSS & JS 스터디

[2024 신입부원 기초 스터디] 백채린 #4주차 (JS_DOM)

반응형

DOM이란? 

 

- Document Object Model

- 웹 문서를 제어하기 위해 개발된 언어

- 컨텐츠 변경, 추가, 제거 등 html 문서를 조작하기 위해 만들어진 언어

- 스크립트 언어로 html 요소를 제어할 수 있도록 웹문서를 객체화한 것

 


Document

: 자바스크립트에서 DOM 접근을 위해 쓰이는 Interface

 

- document.getElementById("id"): id 속성값으로 요소를 찾아 리턴

- document.getElementByClassName("className"): class 속성값으로 요소들을 찾아 리턴

- document.querySelection("selector"): 셀렉터를 통해 요소를 찾아 리턴

- document.querySelectorAll("selector"): 셀렉터를 통해 해당되는 요소를 찾아 리턴 

 

let element, elements;
element = document.getElementById("id");
elements = document.getElementByClassName("className");

element = document.querySelector("selector");
elements = document.querySelectorAll("selector");

 

 

- #id: 셀렉터를 통해 특정 id 속성값을 가진 요소 찾기

- .class: 셀렉터를 통해 특정 class를 가진 요소 찾기

- tag: 셀렉터를 통해 특정 태그 찾기

 

document.querySelector("#id");
document.querySelector(".class-name");
document.querySelector("input");

 

 

- document.createElement(태그명): document에 새로운 태그를 만들 때 사용

 

<!doctype html>
<html lang="en">
        <head>
        <title> My first web page </title>
    </head>
    <body>
        <h1> Hello, world! </h1>
        <p> How are you? </p>
    </body>
</html>

 

let title = document.createElement("title");
title.append("My first web page");
document.head.append(title);

let h1 = document.createElement("h1");
h1.append("Hello, world!);
let p = document.createElement("p");
p.append("How are you?");
document.body.append(h1, p);

 

title.innerText = "Hello World"; //My first web page → Hello World로 변경

 

 

- element.setAttribute(<attricuteName>, <attributValue>)

  : 선택한 HTML 요소의 속성을 설정

- element.classList.add(클래스명)

  : 지정한 클래스 값 추가

* element: HTML tag로 바로 특정할 수 있거나, id나 class 같은 속성을 가진 것들

 

let el = document.createElement("input");
el.setAttribute("value", "Hello World");
el.classList.add("test-class-name");

document.body.append(el);

 

<html>
    <head></haed>
    <body>
        <input class="test-class-name" value="Hello World"></input>
    </body>
</html>

 

 

- element.classList.toggle(클래스명)

  : 클래스가 존재한다면 제거하고 false 반환, 존재하지 않으면 클래스를 추가하고 true 반환

 

el.classList.toggle("test-class-name");

 

<html>
    <head></haed>
    <body>
        <input class="test-class-name" value="Hello World"></input>
    </body>
</html>

 

 

- element.parentElement

 

<html>
    <head></haed>
    <body>
        <input class="test-class-name" value="Hello World"></input>
    </body>
</html>

//el.parentElement.remove() 실행 결과
<html>
    <head></haed>
    
    
    
</html>

 

 

 

 

반응형