[JavaScript] ⑥ 자바스크립트 DOM 뜻과 활용 방법

2020. 10. 12. 15:26·개발/JavaScript

DOM이란 무엇일까? 브라우저의 콘솔 창을 켜고 document라고 입력하면 해당 웹페이지의 HTML 객체가 반환된다. 이번 포스팅에서는 MDN 문서를 바탕으로 DOM의 뜻과 간단한 활용 예시를 정리해 보려고 한다.

DOM이란?

DOM이란 The Document Object Model의 약자로 HTML 문서(Document) 객체(Object)와 상호작용하는 모델(Model)을 의미한다. 즉, DOM을 통해 HTML 요소를 객체처럼 접근해 다룰 수 있다.

document.title // 현재 웹페지의 제목에 접근할 수 있다
document.title = "New Title" // 웹페이지의 제목을 변경할 수 있다!

브라우저와 DOM

브라우저는 HTML 문서를 파싱하여 DOM을 생성한다. 이를 통해 HTML 문서는 DOM 트리를 통해 계층적으로 표현되며, 이러한 구조를 통해 브라우저는 HTML 문서를 파악한다.

자바스크립트를 통한 DOM 활용 예시

다음은 DOM을 활용하여 자바스크립트를 통해 HTML 문서에서 p 태그를 선택하는 예시다.

const paragraphs = document.getElementsByTagName("p"); // 문서의 모든 p 태그를 선택

가장 많이 사용되는 방식은 HTML 태그에 id나 class를 지정하고 자바스크립트를 통해 이를 제어하는 것이다.

const contents = document.getElementById("content"); // id가 "contents"인 객체를 선택

또는 querySelector를 사용할 수도 있다.

const title = document.querySelector(".contents h1") // class 이름이 "contents"인 태그 내의 첫 번째 h1을 선택
const titles = document.querySelectorAll(".contents h1") // class 이름이 "contents"인 태그 내의 모든 h1을 선택

DOM과 document, windows

DOM을 사용하다 보면 document 와 windows 객체를 자주 보게 된다. 간단히 정리하자면, document 는 루트 다큐먼트를 의미하며, windows 는 브라우저를 가리킨다.

마치며

DOM이란 브라우저의 렌더링 엔진을 통해 HTML 문서를 파싱하여 구조화한 것이다. 사용자는 자바스크립트와 같은 언어를 사용해 DOM API를 활용할 수 있다.

 

참고: DOM 소개, MDN

'개발 > JavaScript' 카테고리의 다른 글

[JavaScript] ⑦ 자바스크립트 DOM 이벤트 핸들링  (0) 2020.10.13
자바스크립트 값, 표현식, 구문, 리터럴 의미 설명  (0) 2020.10.08
자바스크립트 for... in 구문 정리  (0) 2020.10.06
'개발/JavaScript' 카테고리의 다른 글
  • 자바스크립트 DOM 타겟 이벤트 메소드 활용하기
  • [JavaScript] ⑦ 자바스크립트 DOM 이벤트 핸들링
  • 자바스크립트 값, 표현식, 구문, 리터럴 의미 설명
  • 자바스크립트 for... in 구문 정리
휘Hwi
휘Hwi
여행, 사진, 개발, 책 이야기를 기록하는 여행자 휘의 블로그 𓂍
  • 휘Hwi
    휘: 끝나지 않은 이야기
    휘Hwi
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 기록
        • 일상 에세이
        • 인사이트
        • 투자와 재테크
        • 코인 이야기
        • 아카이빙
        • 집무실 레터
        • 사랑에 대하여
        • 번역 이야기(完)
        • 프리랜서 일지(完)
      • 여행
        • 🌎 세계 여행기 S1 (完)
        • 🌊 삼삼한 여행기 (完)
        • 🚶 온더로드
        • 🇯🇵 일본
        • 🏝️ 발리
        • 🇻🇳 베트남
        • 🇱🇰 스리랑카
        • 🇮🇳 인도
        • 🇹🇭 태국
        • 🇸🇬 싱가포르
        • 🇦🇺 호주
        • 🇭🇰 홍콩
        • 🇰🇷 한국
        • 🍚 여행자의 한 끼
        • ℹ️ 여행 정보
      • 사진
        • 사진가
        • 사진 이론과 생각
        • 사진 관련 정보
      • 영상
        • 파이널컷 모션 공부
        • 고프로 GoPro
        • 영상 관련 정보
      • 책
        • 책 읽고 쓰기
      • 개발 N
        • 티스토리
        • Internet
        • HTML
        • CSS
        • JavaScript
        • Typescript
        • React
        • Node.js
        • Express
        • NestJS
        • Python
        • Django
        • MySQL
        • MongoDB
        • AWS
        • Deployment
        • Terminal
        • Git N
        • Glossaries
        • Articles
        • Projects
        • TIL;
      • 미분류
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
휘Hwi
[JavaScript] ⑥ 자바스크립트 DOM 뜻과 활용 방법
상단으로

티스토리툴바