document객체 기초

Mia Lee·2021년 12월 2일
0

Java Script

목록 보기
18/25
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
	// document 객체 기초
	// document 객체가 HTML 문서의 시작을 가리킴(= DOM 객체의 진입점)
// 	alert(document); // object HTMLDocument => HTML 문서 자체에 해당

// 	alert("document..documentElement : " + document.documentElement); 
	// object HTMLHtmlElement => <html> 태그에 해당
	
// 	alert("document.head : " + document.head); 
	// object HTMLHeadElement => <head> 태그에 해당
	
	// document.head 속성을 활용하여 <head> 태그내의 노드(각 태그 = 객체)에 접근 가능
	// => head 태그 내의 자식 노드에 접근 시 childNodes 속성 사용
// 	alert("head 태그 내의 자식 노드 수 : " + document.head.childNodes.length); // 6
	
	// for 문을 사용하여 head 태그 내의 자식 노드에 순서대로 접근
	// => META 태그 -> TITLE 태그 -> SCRIPT 태그에 순서대로 접근
	//    (단, 각 태그마다 줄바꿈으로 인해 #TEXT 노드가 추가되어 있음)
	for(var i = 0; i < document.head.childNodes.length; i++) {
		// childNodes 배열 내의 각 요소에 접근하여 해당 요소 이름 출력
// 		document.write(
// 				document.head.childNodes[i] + " : " + document.head.childNodes[i].nodeName + "<br>");
	}
	
// 	alert("document.body : " + document.body); 
// 	// object HTMLBodyElement => <body> 태그에 해당
	// 단, body 태그 내의 문서 내용이 존재하지 않을 경우 null 값이 출력됨
	// 만약, document.body 접근 코드보다 먼저 body 태그 데이터가 생성되어 있다면 객체 출력됨

</script>
</head>
<body>
	<script type="text/javascript">
// 		alert("document.body : " + document.body);
	</script>
	
	<h1>test10.html</h1>
	<div>목록 시작</div>
	<ul>
		<li>항목1</li>
		<li>항목2</li>
	</ul>
	<div>목록 끝</div>
	<hr>
	<script type="text/javascript">
		// for...of 문을 사용하여 body 태그 내의 자식 노드에 차례대로 접근하기
		for(var node of document.body.childNodes) {
			// body 태그 내의 자식 요소(childNodes) 배열에 접근하여 각 요소를 node 변수에 저장
			alert(node + " : " + node.nodeName);
			// 주의! ul 태그 내의 li 태그는 body 태그의 자식이 아니므로 포함되지 않음
		}
	</script>
	
	<!-- 
	이 부분부터는 body 태그 내의 자식 노드 중 sciprt 노드보다 아래쪽에 위치하므로
	위의 script 태그 실행 시점에서는 아직 로딩되기 전이기 때문에
	for문 실행 시 자식 노드에 포함되지 않는다!
	-->
	<h3>body 태그 자식 노드 접근 후</h3>
</body>
</html>













0개의 댓글