💡 문서 객체 모델 (DOM, Document Object Model)
: 웹 브라우저가 HTML 파일을 분석하고 출력하는 방식
- 문서 객체
- 태그를 자바스크립트에서 사용할 수 있는 객체로 만든 것
- HTML에서 요소라고 하는 것- 문서 객체 조작 = 태그 조작
↳ DOM Tree
- 요소 노드 (element node) : 요소를 생성하는 노드 (ex. h1, script 태그 등)
- 텍스트 노드 (text node) : 화면에 출력되는 문자열
<head>
<title>Document</title>
<script>
document.querySelector('h1').style.backgroundColor = 'red';
document.querySelector('h2').style.color = 'red';
</script>
</head>
<body>
<h1>Process - 1</h1>
<h2>Process - 2</h2>
</body>
<head>
<title>Document</title>
</head>
<body>
<h1>Process - 1</h1>
<h2>Process - 2</h2>
<script>
document.querySelector('h1').style.backgroundColor = 'red';
document.querySelector('h2').style.color = 'red';
</script>
</body>
<head>
<title>Document</title>
<script>
window.onload = function () {
document.querySelector('h1').style.backgroundColor = 'red';
document.querySelector('h2').style.color = 'red';
};
</script>
</head>
<body>
<h1>Process - 1</h1>
<h2>Process - 2</h2>
</body>
- 문서 객체 선택: 이미 존재하는 HTML 태그를 자바스크립트에서 문서 객체로 변환하는 것
document.getElementById(아이디) : 아이디로 1개 선택document.querySelector(선택자) : 선택자로 1개 선택document.getElementsByName(이름) : name 속성으로 여러 개 선택document.getElementsByClassName(클래스) : class 속성으로 여러 개 선택document.querySelectorAll(선택자) : 선택자로 여러 개 선택: id 속성을 사용해 문서 객체를 선택하고 스타일과 내부 글자를 조작
<head>
<title>Document</title>
<script>
window.onload = function () {
let header = document.getElementById('header');
header.style.color = 'orange';
header.style.background = 'red';
header.innerHTML = 'From JavaScript';
};
</script>
</head>
<body>
<h1 id="header">Header</h1>
</body>
: getElementById 메서드와 사용법 같음