DOM

2025. 1. 4. 09:00·기반 지식/웹 어플리케이션

1. DOM(Document Object Model)이란?

출처 : https://www.codestates.com/blog/content/dom-javascript

  • DOM이란 W3C(World Wide Web Consortium)이란 회의에서 정한 문서 객체 모델이다.
  • HTML 형식의 텍스트를 DOM 형식으로 불러와 데이터를 확인 및 조작할 수 있다.
  • DOM은 프로그래밍 언어는 아니지만 DOM이 없다면 자바스크립트 언어는 웹 페이지, HTML 문서, SVG 문서 및 구성 요소들과 관련된 모델이나 개념들에 대한 정보를 갖지 못한다.

 

2. DOM은 어떤 식으로 사용되는가?

노드 역할
document ● Dom Tree의 최상위 루트 노드이다.
● document 객체를 가리킨다.
● HTML 문서 전체를 나타내는 노드이다.
● window 객체의 document 프로퍼티로 연결되어 있다.
● window.document, document로 참조해서 사용할 수 있다.
● HTML 문서에 오로지 1개만 존재한다.
element ● 모든 HTML 요소(body, h2, div 등)를 지칭하는 노드이다.
● 속성 노드를 가질 수 잇는 유일한 노드이다.
● 부모-자식 관계를 가지게 되기 때문에 계층적 구조를 이룰 수 있다.
attribute ● 모든 HTML 요소의 속성에 대한 노드이다.
● 따라서, 부모 노드가 아닌 해당 노드와 바인딩 되어 있다.
text ● HTML 문서의 모든 텍스트를 지칭하는 노드

 

  • javascript와 같은 스크립트 언어를 통해 DOM 수정이 가능하다.
  • 예를 들어 : XMLHttpRequest의 responsText는 서버의 응답 값을 html 형식의 텍스트로 불러온다.
  • DOMparser() 객체를 이용해 html 텍스트를 DOM 형식으로 변환 후 데이터를 핸들링 할 수 있다.
  • DOM 파일의 구성은 위 그림과 같다.

 

💡 JavaScript DOM 접근하는 방법

※ DOM method : DOM 객체의 멤버 함수로, HTML 태그를 제어한다.
※ DOM property : DOM 객체의 멤버 변수로, HTML 태그의 속성을 반영한다.

● document.getElementById(id) : id 프로퍼티가 속한 노드를 반영한다.
● document.getElementsbyClassName(class) : class 프로퍼티가 속한 노드를 반영한다. </aside>

 

 

3. DOMParser() 객체

mimeType doc.constructor
text/html Document
text/xml XMLDocument (en-US)
application/xml XMLDocument (en-US)
application/xhtml+xml XMLDocument (en-US)
image/svg+xml XMLDocument (en-US)

 

● DOMParser() 객체를 이용해 지정된 문자열의 형식을 DOM으로 파싱할 수 있다.

● parseFromString(string, mimeType) 형식으로 사용할 수 있다.

 

'기반 지식 > 웹 어플리케이션' 카테고리의 다른 글

CSRF Token  (0) 2025.01.05
View Template Layout  (0) 2025.01.03
View Template & MVC  (0) 2025.01.02
Spring Boot  (0) 2025.01.01
GET & POST  (0) 2024.12.28
'기반 지식/웹 어플리케이션' 카테고리의 다른 글
  • CSRF Token
  • View Template Layout
  • View Template & MVC
  • Spring Boot
real-again
real-again
realagin 님의 블로그 입니다.
  • real-again
    또또, 다시
    real-again
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 프로젝트
        • AOS 모바일 앱 모의해킹
        • Spring Boot 웹 애플리케이션 구축
        • [ESXi]인프라 구축 및 모니터링
        • 인프라 취약점 진단 고도화
      • CVE 분석
      • 기반 지식
        • AWS
        • 인프라
        • 웹 어플리케이션
        • Android
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    tocken
    브로트캐스트
    splunk #esm
    spring boot
    app intsructure
    vlan
    insecure authentication/authorization
    하드코드
    dvm
    EC2
    owasp mobile top10
    AWS
    sd스토리지
    aos정리
    diva
    통신 과정 취약점 진단
    pfsense
    android directory
    콘텐츠 프로바이더
    Snort
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
real-again
DOM
상단으로

티스토리툴바