* HTML 태그의 출력과 DOM 객체

HTML 태그로부터 먼저 DOM 객체를 생성하고 DOM 트리를 구성한 후, DOM 객체를 화면에 출력한것이다.


* DOM 객체들 사이의 관계

DOM 객체들

- parentElement 프로퍼티 : 부모 객체

- chileren 프로퍼티 : 직계자식들의 컬렉션

- firstElementChild 프로퍼티 : 첫 번째 직계 자식

- lastElementChile 프로퍼티 : 마지막 직계 자식


sibling

- previousElementSibling 프로퍼티 : 왼쪽 sibling 객체

- nextElementSibling 프로퍼티 : 오른쪽 sibling 객체


예제 8-1. DOM 객체의 구조 출력 : p 객체 사례

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>HTML DOM 트리</title>
</head>
<body>
<h3>DOM 객체 p의 프로퍼티, 스타일, 이벤트 리스너</h3>
<hr>
<p id="firstP" style="color:blue; background:yellow"
    onclick="this.style.color='teal'">이것은
    <span style="color:red">문장입니다.</span>
</p>
<script>
    var p = document.getElementById("firstP"); // id가 firstP인 태그의 DOM 객체 찾기
    var text = "p.id = " + p.id + "\n";
    text += "p.tagName = " + p.tagName + "\n";
    text += "p.innerHTML = " + p.innerHTML + "\n";
    text += "p.style.color = " + p.style.color + "\n";
    text += "p.onclick = " + p.onclick + "\n";
    text += "p.childElementCount = " + p.childElementCount + "\n";
    text += "너비 = " + p.offsetWidth + "\n";
    text += "높이 = " + p.offsetHeight + "\n";
    alert(text);
</script>
</body>
</html>
 
cs



* W3C에서 표준화한 DOM 객체의 주요 공통 프로퍼티, 컬렉션, 메소드

(프로퍼티)

기본

id // 태그의 id 속성 값

lang // 태그의 lang 속성 값

style // style 객체에 대한 레퍼런스

title // 태그의 title 속성 값

tagName // 태그 이름 문자열. 항상 대문자로 표시됨 예) SPAN, Div

innerHTML // 시작 태그와 종료 태그 사이의 HTML 텍스트


DOM 트리관련

childElementCount // 자식 DOM 객체 개수

firstElementChild // 첫 번째 자식 객체

lastElementChild // 마지막 자식 객체

nextElementSibling // 다음 형제 객체, 오른쪽 형제

parentElement // 부모 객체

previousElementSibling // 이전(왼쪽) 형제 객체


크기와 위치

offsetHeight // 패팅, 테두리, 스크롤바를 포함한 높이

offsetWidth // 패팅, 테두리, 스크롤바를 포함한

offsetLeft // 객체의 출력 위치. 수평 옵셋

offsetTop // 객체의 출력 위치. 수직 옵셋


(컬렉션)

children // 자식 DOM 객체들의 컬렉션(자식들을 가리키는 레퍼런스 배열)


(메소드)

addEventListener() // 새로운 이벤트 리스너 등록

appendChild() // 마지막 자식 뒤에 새로운 자식 추가

click() // 사용자가 마우스를 클린한 것과 동일한 작업 수행

focus() // 키 입력을 받을 수 있도록 이 객체에 포커스 지정

setAttribute() // 속성 추가

insertBefor() // 지정된 자식 앞에 새 자식 추가

querySelector() // 지정된 CSS3 셀렉터와 일치하는 첫 번째 자식 리턴

removeChild() // 자식 삭제

replaceChild() // 자식 대체

removeEventListener() // addEventListener()로 등록한 이벤트 리스너 제거





Posted by 너래쟁이
: