DOM

fe_sw·2022년 7월 31일
0

Web

목록 보기
5/8
post-thumbnail

DOM(Document Object Model)이란 웹페이지가 로드될때 브라우저가 생성하는 문서 객체 모델이다.

즉 DOM은 HTML문서를 브라우저가 이해할 수 있도록 만든 Tree형태의 자료구조이다.

DOM은 원본 HTML 문서의 객체 기반 표현 방식이며 DOM의 개체 구조는 노드 트리로 표현된다.

또한 DOM에 접근할 수 있는 DOM API를 제공한다.

Document Node

document 객체를 말하며 DOM 트리에 접근하기 위한 최상위 노드로 모든 DOM 트리에 접근하기 위한 시작점이 된다.

Element Node

HTML 구성 요소 즉 대표적으로 대그를 의미한다. 문서내 태그들은 모두 Element Node 들 이다. 각각의 Element Node 는 다시 Attribute와 Text Node를 가진다.

Attribute Node

태그들의 속성을 객체화한 노드를 말한다. 만일 특정 태그의 속성에 접근하려면 Attribute Node를 사용해야 한다.

Text Node

태그의 텍스트를 객체화한 노드이다. 자식 노드를 가질 수 없으며 DOM 트리구조의 최종단 노드가 된다.

DOM접근 메서드

요소들을 이용하기 위해서는 아래와 같은 메서드로 사용해 특정 태그에 접근해야 됩니다.

  • document.getElementById("id명"): 해당 id명을 가진 요소 하나를 반환합니다.
  • document.querySelector("선택자"): 해당 선택자를 만족하는 요소 하나를 반환합니다.
  • document.getElementsByClassName("class명"): 해당 class명을 가진 요소들을 배열에 담아 인덱스에 맞는 요소를 반환합니다.
  • document.getElementsByTagName("태그명"): 해당 태그명을 가진 요소들을 배열에 담아 인덱스에 맞는 요소를 반환합니다.
  • document.querySelectorAll("선택자명"): 해당 선택자를 만족하는 모든 요소들을 배열에 인덱스에 맞는 요소를 반환합니다.

DOM변환 메서드

요소에 접근하면 요소의 여러 가지 속성에 접근하여 변경할 수 있습니다.

  • element.innerHTMl: 해당 요소를 다른 HTML요소로 변경할 수 있는 속성입니다.
  • element.style.property: 해당 요소에 적용된 css속성의 값을 나타냅니다.
  • element.attribute: 해당 요소의 속성을 나타냅니다.
  • document.write(): 인자로 전달한 내용을 DOM에 그릴 수 있습니다.

DOM셍성 삭제 메서드

  • document.createElement(element): HTML element 생성
  • element.removeChild(element): HTML element 삭제
  • element.appendChild(element): HTML element 추가
  • element.replaceChild(element): HTML element 교체

참고

0개의 댓글