1. DOM
- DOM (Document Object Model) : 문서 객체 모델
- 웹 페이지 (HTML, XML 문서 등) 의 콘텐츠 및 구조, 스타일 요소를 구조화 시켜 표현 → 프로그래밍 언어가 해당 문서에 접근하여 읽고 조작할 수 있도록 API를 제공하는 인터페이스
1-1. DOM의 트리 구조
<!DOCTYPE html>
<html>
<head>
<title>자바스크립트 기초</title>
</head>
<body>
<article>
<header>header</header>
<section>
<header>header 1</header>
section 1
</section>
</article>
</body>
</html>
⇒ 각각의 태그가 자바스크립트의 node 객체로 변환됨!
- 노드 : HTML DOM에서 정보를 저장하는 계층적 단위
- 노드 트리 : 노드들의 집합 / 노드간 관계를 트리 구조로 나타냄
📌 document 객체 : 웹 페이지 자체를 의미
⇒ 자바스크립트에서 DOM에 접근하고자 하면 document 객체 사용해야 함!
1-2. HTML 요소 선택
- document.getElementById(”아이디”)
- 해당 아이디의 요소 선택
- document.getElementsByClassName(”클래스이름”)
- 해당 클래스에 속한 요소를 모두 선택
- document.getElementsByName(”이름”)
- 해당 name 속성을 가지는 요소를 모두 선택
- document.querySelectorAll(”css 선택자”)
- 해당 css 선택자로 선택되는 요소를 모두 선택
- document.querySelector(”css 선택자”)
- 해당 css 선택자로 선택되는 요소 중 첫번째 요소 선택
1-3. HTML 요소 조작
- 요소.style.스타일속성 = “값”
- 요소의 스타일 조회 및 변경
- 요소.innerHTML = “HTML내용”
- 요소 하위의 HTML 조회 및 변경
- 요소.innerText = “텍스트값”
- 요소 하위의 텍스트 조회 및 변경
- 요소.getAttribute(”속성명”) / 요소.setAttribute(”속성명”, “값”)
- 요소의 HTML 속성 조회 및 변경
- 요소.classList = “클래스명”
- 요소의 클래스 수정
- 요소.classList.add(”클래스명”)
- 요소의 클래스에 해당 클래스 추가
1-4. HTML 요소 생성 및 추가
- document.createElement(”태그명”)
- 해당 태그의 HTML 요소 생성
- document.write(”텍스트”)
- 텍스트를 화면에 출력
- 요소.appendChild(노드)
- 해당 요소의 내부 가장 마지막에 노드 추가
⇒ createElement()로 만들어진 노드는 화면에 보여지기 위해 appendChild 등을 통해 DOM에 추가해야 함!
'FE' 카테고리의 다른 글
[JS] JavaScript - 이벤트, 이벤트 핸들러 (0) | 2024.08.11 |
---|---|
[JS] JavaScript 기본 문법 (0) | 2024.08.11 |
[CSS] CSS 기본 정리 (0) | 2024.08.11 |