[JS] JavaScript DOM이란?

2023. 7. 31. 13:26·JavaScript

 

 

 

0. DOM이란?

 

  • Document Object Model
  • XML / HTML 문서에 접근하기 위한 일종의 인터페이스
  • 문서 내의 모든 요소 정의
  • 각각의 요소에 접근하는 방법 제공

 

 

 

 

1. DOM의 구조

 

DOM은 그림에서 확인할 수 있듯이, 트리 형식으로 이루어져 있다.

 

 

 

★ tree란?

 

  • 방향성이 있으며, 순환하지 않는 그래프의 한 종류
  • 정점(node)와 간선(edge)를 활용해 데이터의 배치 형태를 추상화한 자료구조
  • 노드가 N개인 트리는 항상 N-1개의 간선을 가짐
  • 노드들이 나무 가지처럼 연결되었으며, 나무를 거꾸로 뒤집어 둔 형태와 유사

 

위쪽의 노드를 부모(parent) 노드라고 하며, 아래쪽 노드를 자식(child) 노드라고 한다.

 

root node : 최상단에 있는 노드, parent node가 존재하지 않는다.

leaf node : 가장 끝에 위치한 노드, child node가 존재하지 않는다.

 

 

 

 

 

 

 

2. 변환 과정

 

 

 

<!DOCTYPE html>
<html>
  <head>
    <meta charset = "UTF-8">
    <link rel="stylesheet" href="style.css">
  </head>
  <body>
    <ul>
      <li id="dog">Dog</li>
      <li id="cat">Cat</li>
      <li id="rabbit">Rabbit</li>
    </ul>
    <script src="index.js"></script>
  </body>
</html>

 

 

 

문서 노드

태그 노드

속성 노드

텍스트 노드

 

 

 

 

위의 코드를 트리 형태로 변환하면 이런식으로 생긴(?)것을 확인할 수 있다.

이러한 구조를 알아두면 후에 특정 태그를 사용하거나 선택하는데에 많이 사용되며 유용하기에, 잘 이해해두는 것이 좋다.

 

 

 

728x90
저작자표시 (새창열림)

'JavaScript' 카테고리의 다른 글

[JS] 동기/비동기/콜백/promise/async/await  (0) 2023.08.16
[JS] JS와 JQuery 코드 비교  (0) 2023.08.03
[JS] JS에서 함수(function)란?  (0) 2023.07.26
[JS] Webpack 기초  (0) 2023.01.20
[JavaScript] JavaScript의 모듈들  (0) 2023.01.20
'JavaScript' 카테고리의 다른 글
  • [JS] 동기/비동기/콜백/promise/async/await
  • [JS] JS와 JQuery 코드 비교
  • [JS] JS에서 함수(function)란?
  • [JS] Webpack 기초
에이전트공방
에이전트공방
Agent로 먹고살기..🛠️
  • 에이전트공방
    에이전트공방
    에이전트공방
  • 전체
    오늘
    어제
    • 분류 전체보기 (107)
      • Python (17)
      • AWS (5)
      • Server (7)
      • Docker (7)
      • GIT (7)
      • Node (9)
      • React (11)
      • OS (8)
      • Java (3)
      • JavaScript (11)
      • Vue (12)
      • CSS (5)
  • 링크

  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
에이전트공방
[JS] JavaScript DOM이란?
상단으로

티스토리툴바