Document Object Model의 약자로 '문서 객체 모델'
웹페이지에 나타나는 HTML 문서 전체를 객체로 표현한 것
console.log(document); //DOM에 해당하는 HTML 형태로 출력
console.log(typeof document); //Object
console.dir(document); //DOM을 객체 형태로 출력
각 객체를 노드라고 표현
부모 노드(Parent Node), 자식 노드(Child Node) : 각 노드간의 관계
형제 노드(Sibling Node) : 같은 위치의 노드
요소 노드(Element Node) : 태그를 표현하는 노드
텍스트 노드(Text Node) : 문자를 표현하는 노드
뿌리 노드(Root Node) : 부모 노드가 없는 노드
잎 노드(Reaf Node) : 자식 노드가 없는 노드
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>JS with Codeit</title>
</head>
<body>
<div id="content">
<h2 id="title-1">Cat-1</h1>
<ul id="list-1">
<li>Ragdoll</li>
<li>British Shorthair</li>
<li>Scottish Fold</li>
<li>Bengal</li>
<li>Siamese</li>
<li>Maine Coon</li>
<li>American Shorthair</li>
<li>Russian Blue</li>
</ul>
<h2 id="title-2">Cat-2</h1>
<ul id="list-2">
<li>Sphynx</li>
<li>Munchkin</li>
<li>Persian</li>
<li>Norwegian Forset</li>
<li>Turkish Angora</li>
<li>Bombay</li>
<li>Selkirk Rex</li>
<li>Munchkin</li>
</ul>
</div>
<script src="index.js"></script>
</body>
</html>
1. 자식 요소 노드
const myTag = document.querySelector('#list-1');
console.log(myTag); //list-1 출력
console.log(myTag.children); //list-1의 자식 노드 출력
console.log(myTag.children[1]); //list-1의 index 1번째 자식 노드 출력
console.log(myTag.firstElementChild); //list-1의 첫번째 자식 노드 출력
console.log(myTag.lastElementChild); //list-1의 마지막 자식 노드 출력
2. 부모 요소 노드
const myTag = document.querySelector('#list-1');
console.log(myTag.parentElement); //list-1의 부모 노드인 content 출력
3. 형제 요소 노드
const myTag = document.querySelector('#list-1');
console.log(myTag.previousElementSibling); //list-1의 이전 형제 노드 출력
console.log(myTag.nextElementSibling); //list-1의 다음 형제 노드 출력
1. innerHTML
const myTag = document.querySelector('#list-1');
// innerHTML
console.log(myTag.innerHTML);
myTag.innerHTML = '<li>Exotic</li>'; //요소 수정
myTag.innerHTML += '<li>Exotic</li>'; //요소 추가
2. outerHTML
const myTag = document.querySelector('#list-1');
// outerHTML
console.log(myTag.outerHTML);
myTag.outerHTML = '<ul id="new-list"><li>Exotic</li></ul>';
3. textContent
const myTag = document.querySelector('#list-1');
// textContext
console.log(myTag.textContent);
myTag.textContent = 'new text!';
myTag.textContent = '<li>new text!</li>';
Tomorrow better than today, Laugh at myself
- 출처 -