Language/JavaScript

[JavaScript] DOM

IT수정 2024. 9. 18. 16:16

DOM이란 HTML 문서의 요소들을 계층으로 표현하여 조작할 수 있게끔 해주는 인터페이스를 의미한다. 즉, 한마디로 모든 HTML 요소들은 HTML DOM을 통해서 접근할 수 있고, 조작 및 제어할 수 있다.

 

문서와 요소

HTML 문서 객체를 의미하는 document는 모든 HTML 요소들을 포함하는 최상위 객체를 의미한다.

 

요소 선택

HTML 문서의 요소를 선택하기 위해서 사용할 수 있는 document의 메서드는 다음과 같다.

  • getElementById() : 아이디로 요소 선택
  • getElementsByClassName() : 클래스로 요소 선택
  • getElementsByTagName() : 태그 이름으로 요소 선택
  • getElementsByName() : name 속성을 요소 선택
  • querySelector() : 선택자로 요소 선택
  • querySelectorAll() : 선택자로 선택되는 요소를 모두 선택

 

getElementById()

인자로 전달된 문자열과 동일한 id 속성 값을 가진 단일 요소를 선택한다.

// <h2 id="title">Hello</h2>

const hello = document.getElementById('title');
console.log(hello);

 

getElementsByClassName()

인자로 전달된 문자열과 동일한 class 속성 값을 가진 요소를 모두 선택한다.

// <h2 class="title">Hello</h2>
// <h3 class="title">World</h3>

const hello = document.getElementsByClassName('title');
console.log(hello);

 

getElementsByTagName()

인자로 전달된 문자열과 동일한 태그를 사용하는 요소를 모두 선택한다.

// <div>One</div>
// <div>Two</div>
// <div>Three</div>

const divs = document.getElementsByTagName('div');
console.log(divs);

 

getElementsByName()

인자로 전달된 문자열과 동일한 name 속성 값을 가진 요소를 모두 선택한다.

// <input type="text" name="user">
// <input type="text" name="user">

const inputs = document.getElementsByName('user');
console.log(inputs);

 

querySelector()

인자로 전달된 선택자와 일치하는 첫 번째 요소를 선택한다. 이때 사용되는 선택자는 CSS 선택자이므로, 태그 선택자를 사용하려면 태그명을 작성해야 하고, 아이디 값으로 찾으려면 앞에 # 기호를 붙여 작성하며, 클래스 값으로 찾으려면. 기호를 붙여 작성해야 한다.

// <h2>hello</h2>
// <div id="world">world</div>
// <span class="number">1</span>

const h2 = document.querySelector('h2');
const world = document.querySelector('#world');
const number = document.querySelector('.number');

 

querySelectorAll()

인자로 전달된 선택자와 일치하는 요소들을 모두 선택한다.

 

요소 변경

앞서 살펴본 메서드들을 사용해 선택된 특정 요소는 속성 값, 스타일 등의 내용을 변경할 수 있다.

// <h2>hello</h2>

const title = document.querySelector('h2');

title.innerText = '안녕하세요';
title.style.color = 'red';

 

요소 생성

HTML 문서에 존재하지 않는 요소를 새로 생성하기 위해서는 createElement()를 사용한다. 또한 이렇게 생성한 요소를 실제 문서에 추가하기 위해서는 HTML이 가지고 있는 특정 요소에 appendChild()를 사용해 붙여 주어야 한다.

// <div></div>

const h2 = document.createElement('h2');
h2.innterText = 'hello world';
h2.style.color = 'blue';

const div = document.querySelector('div');
div.appendCHild(h2);

 

'Language > JavaScript' 카테고리의 다른 글

[JavaScript] 모듈  (1) 2024.09.18
[JavaScript] 이벤트  (1) 2024.09.18
[JavaScript] 구조 분해 할당  (1) 2024.09.18
[JavaScript] 클래스  (0) 2024.09.18
[JavaScript] Map 심화  (0) 2024.09.18