코딩항해기

[Web] DOM 본문

HTML CSS JS

[Web] DOM

miniBcake 2024. 12. 6. 15:01

 

 

 

DOM 소개 - Web API | MDN

이 문서는 DOM에 대한 개념을 간략하게 소개하는 문서이다: DOM 이 무엇이며, 그것이 어떻게 HTML, XML 문서들을 위한 구조를 제공하는지, 어떻게 DOM 에 접근하는지, API 가 어떻게 사용되는지에 대한

developer.mozilla.org

 

문서 객체 모델 DOM (The Document Object Model)

DOM은 HTML, xml 문서의 프로그래밍 인터페이스이다. DOM은 문서의 구조화된 표현을 제공하며 프로그래밍 언어가 DOM 구조에 접근할 수 있는 방법을 제공하여 그들이 문서 구조, 스타일, 내용 등을 변경 할 수 있게 돕는다. 퓁 페이지를 스크립트 또는 프로그래밍 언어들에서 사용될 수 있게 연결시켜주는 역할을 담당한다.

 

웹 페이지는 문서 중 하나로 웹 브라우저를 통해 해석되어 화면에 나타나거나 소스를 보여준다. DOM은 웹 페이지의 객체 지향 표현이며 동일한 문서를 표현하고 저장하고, 조작하는 방법을 제공한다. JavaScript와 같은 스크립트 언어를 통해 DOM을 활용할 수 있다.

 

표준 DOM 사용 예시 

예를 들어, 표준 DOM 에서는 문서 안에서 모든 <P> elements 에 대한 list 를 리턴하는 getElementsByTagName method 를 정의하고 있다. 예시 외에도 다양한 방식을 통해 DOM을 사용할 수 있다.

var paragraphs = document.getElementsByTagName("P");
// paragraphs[0] is the first <p> element
// paragraphs[1] is the second <p> element, etc.
alert(paragraphs[0].nodeName);

 

웹 페이지를 수정, 생성하는데 사용되는 prop, method, event를 Object로 반환해준다.

 

아래는 웹 페이지, XML 페이지 스크립팅에서 DOM 을 사용하는 공통적인 API 들의 간략한 목록이다.

  • document.getElementById(id)
  • document.getElementsByTagName(name)
  • document.createElement(name)
  • parentNode.appendChild(node)
  • element.innerHTML
  • element.style.left
  • element.setAttribute
  • element.getAttribute
  • element.addEventListener
  • window.content
  • window.onload
  • window.dump
  • window.scrollTo

 

데이터 타입 정리

용어 설명 특징 접근 방법
document root document object DOM의 최상위 문서 객체 DOM document Reference
element DOM API에 의해 반환된 요소 - Node interface 구현<br>- Element interface 구현 document.createElement() 등으로 생성
nodeList elements의 배열 - index로 접근 가능<br>- 유사 배열 객체 1. list.item(1)<br>2. list[1]
attribute 특별한 인터페이스를 가진 객체 참조 - DOM에서 nodes로 취급<br>- elements보다 덜 사용됨 createAttribute() 메서드로 생성
namedNodeMap 배열과 유사한 맵 - name 또는 index로 접근<br>- 특별한 정렬 없음<br>- item 추가/삭제 가능 1. item() 메서드<br>2. index 기반 접근

'HTML CSS JS' 카테고리의 다른 글

[CSS] CSS-in-JS  (0) 2024.12.13
[CSS] Tailwind CSS  (0) 2024.12.09
[CSS] 변수 Custom Properties  (0) 2024.12.02
[CSS] CSS 주요 속성 정리  (0) 2024.12.02
[HTML] 캐노니컬 태그 (+ HTML 문서가 아닐 때 캐노니컬)  (0) 2024.11.29