Chapter 1-9. DOM 소개

2025. 3. 31. 19:04·JavaScript

📌 DOM 소개 & 콘텐츠 변경하기

DOM(Document Object Model)은 자바스크립트가 웹 페이지의 콘텐츠를 제어하고 조작할 수 있도록 하는 중요한 개념입니다. DOM은 웹 페이지의 각 요소를 객체화하여 추가, 수정, 삭제 및 이벤트 처리를 가능하게 해줍니다. 이 글에서는 DOM이란 무엇이며, 웹 콘텐츠를 변경하는 방법에 대해 알아보겠습니다.

 

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="x-ua-compatible" contect="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>DOM 소개 & 콘텐츠 변경하기기</title>
    
</head>
<body>    
    
        <p>대한민국의 역습입니다!</p>
        <p class="comment">손흥민 크로스 몰고갑니다. 역습입니다!</p>
        <p class="comment" id="goal">조규성의 환성적인 마무리 ~ 골</p>
           
    <script>
        //입력 - 처리 - 출력
        const p1 = document.querySelector("p")
        const p2 = document.querySelector(".comment")
        const p3 = document.querySelector("#goal")

        console.log(p1.textContent)
        console.log(p2.textContent)
        console.log(p3.textContent)

        p1.textContent = "우루과이의 역습입니다"
        p2.textContent = "수아레즈의 멋진패스"
        p3.textContent = "포뮬란의 논스톱 슛, 골~"
        
        
    </script>
</body>
</html>

🚦 DOM(Document Object Model) 이란?

DOM은 웹 페이지의 HTML 문서 구조를 객체 형태로 나타낸 모델입니다. 웹 브라우저는 HTML 코드를 해석하고 이를 DOM 트리로 변환하여 화면에 표시합니다. 자바스크립트는 DOM을 사용하여 웹 페이지의 내용을 동적으로 수정하거나 이벤트를 처리할 수 있습니다.

DOM은 웹 페이지에서 각 요소를 객체로 접근하고 조작할 수 있는 프로그래밍 인터페이스입니다. 이를 통해 사용자는 웹 페이지의 콘텐츠를 추가, 수정, 삭제하고 이벤트 처리를 할 수 있습니다.


💻 DOM에 접근하기

자바스크립트에서 document 객체를 사용하여 현재 웹 페이지의 콘텐츠에 접근할 수 있습니다. window.document는 웹 페이지의 DOM을 나타내며, 이를 통해 페이지의 요소를 조작하거나 정보에 접근할 수 있습니다.

  • window.document: 현재 페이지의 DOM을 의미하며, 이를 사용하여 웹 요소를 생성하거나 수정할 수 있습니다.

예시:

let title = window.document.querySelector('h1');
console.log(title.textContent); // <h1>의 텍스트 내용 출력

 

🔍 **querySelector**와 textContent

1.querySelector:

  • querySelector는 CSS 선택자를 사용하여 문서 내에서 첫 번째로 일치하는 요소를 선택합니다.
  • 선택자가 일치하는 요소가 없으면 null을 반환합니다.

예시:

let element = document.querySelector('.myClass'); // 첫 번째 '.myClass' 요소 선택
console.log(element); // 해당 요소를 출력

 

2. textContent:

  • textContent는 선택한 요소의 텍스트 콘텐츠를 반환하거나 수정할 수 있는 속성입니다.
  • 텍스트를 읽거나 변경할 수 있어, 웹 페이지의 내용을 동적으로 수정하는 데 사용됩니다.

예시:

 
let para = document.querySelector('p');
console.log(para.textContent); // p 요소의 텍스트 내용 출력
para.textContent = "새로운 텍스트"; // p 요소의 텍스트 변경

✅ 마무리

  • DOM은 자바스크립트가 웹 페이지의 구조를 제어하는 데 중요한 역할을 합니다.
  • document 객체를 통해 웹 페이지의 요소에 접근하고, **querySelector**와 **textContent**를 사용하여 동적 수정과 정보 출력을 쉽게 할 수 있습니다.
  • **DOM**을 이해하고 활용하면, 웹 페이지의 내용을 실시간으로 업데이트하고, 이벤트를 처리하는 능력이 향상됩니다.

✅ 실질적인 이점

  1. HTML을 직접 수정하는 것보다 유리한 점:
    • 동적 웹 페이지를 만들 때, 자바스크립트를 사용하여 실시간으로 콘텐츠를 변경하고, 사용자 인터랙션에 반응할 수 있는 동적 웹 페이지를 구성할 수 있습니다. HTML을 직접 수정하는 방식은 정적인 콘텐츠 변경에만 적합하지만, DOM을 이용하면 동적이고 인터랙티브한 콘텐츠 변경이 가능합니다.
  2. 자바스크립트를 이용한 동적 페이지 처리:
    • 예를 들어, 버튼 클릭 시 텍스트가 변하거나, 페이지를 새로고침하지 않고 데이터를 업데이트하는 작업을 할 수 있습니다.
  3. 이벤트 처리와 상호작용:
    • DOM을 사용하면 클릭, 입력, 마우스 이동 등 다양한 이벤트 처리를 통해 사용자와 상호작용할 수 있습니다. HTML에서 직접 작성하는 것과 달리, 자바스크립트를 사용해 웹 요소의 상태를 실시간으로 변경할 수 있습니다.

이제 자바스크립트를 활용하여 동적 웹 페이지를 만들 수 있는 능력을 얻었습니다!

 
 
 

'JavaScript' 카테고리의 다른 글

Chapter 2-13. 조건문(javascript)  (0) 2025.03.31
Chapter 2-12. 비교연산(javascript)  (0) 2025.03.31
Chapter 1-8. undefined 외  (0) 2025.03.31
Chapter 1-7. 템플릿 리터럴  (0) 2025.03.31
Chapter 1-6. 문자열 prompt  (0) 2025.03.31
'JavaScript' 카테고리의 다른 글
  • Chapter 2-13. 조건문(javascript)
  • Chapter 2-12. 비교연산(javascript)
  • Chapter 1-8. undefined 외
  • Chapter 1-7. 템플릿 리터럴
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (807)
      • Python (32)
      • 프로젝트 (116)
      • 과제 (25)
      • Database (40)
      • 멘토링 (11)
      • 특강 (37)
      • 기술블로그 (42)
      • 기술블로그-Fastapi편 (33)
      • 기술블로그-Django편 (154)
      • 기술블로그-Flask편 (36)
      • AI 분석 (5)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (77)
      • Fastapi (16)
      • 연예 (14)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    remittance
    뷔
    newpoliticalparty
    titaniumcase
    global politics
    lawsuitculture
    chatgpterror
    youngprofessionals
    classaction
    btsjungkook
    btscomeback
    life reflection
    homebartrend
    bts
    travel ban
    basalcellcarcinoma
    americanlaw
    trumpmuskclash
    gpterror
    btsreunion
    btsdischarge
    self-growth
    smartphonedurability
    livebroadcast
    urbantrends
    college reunions
    hotcoffeecase
    RM
    americaparty
    chinanightlife
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
Chapter 1-9. DOM 소개
상단으로

티스토리툴바