window 객체
window
객체는 브라우저 창을 대변하면서 자바스크립트에서 최상단에 존재하는 객체이다.
어느 곳에서나 항상 접근할 수 있는 객체이기에 전역 객체, Global Object라 하며, 어떤 프로퍼티나 메소드를 사용하든 전역 객체 내부의 것이기 때문에 앞에 window.
생략할 수 있다.
DOM
DOM이란 Document Object Model의 약자로 문서 객체 모델이다.
웹 페이지에 나타나는 HTML 문서 전체를 객체로 표현한 것이며, 객체를 노드(Node)라는 용어로 표현하고, 태그는 요소 노드, 문자는 텍스트 노드로 구분된다.
자바스크립트로 태그 선택 방법
메소드 | 결과 |
document.getElementById('id') |
id에 해당하는 태그 하나 |
document.getElementByClassName('class') |
class에 해당하는 태그 모음 (HTML Collection - 유사 배열) |
document.getElementByTagName('tag') |
tag에 해당하는 태그 모음 (HTML Collection - 유사 배열) |
document.querySelector('css') |
css 선택자에 해당하는 태그 중 가장 첫 번째 태그 하나 |
document.querySelectorAll('css') |
css 선택자에 해당하는 태그 모음 (NodeList - 유사 배열) |
DOM 이동 시 활용 가능한 프로퍼티
프로퍼티 | 결과 |
element.children |
element의 자식 요소 모음 (HTML Collection - 유사 배열) |
element.firstElementChild |
element의 첫 번째 자식 요소 하나 |
element.lastElementChild |
element의 마지막 자식 요소 하나 |
element.parentElement |
element의 부모 요소 하나 |
element.previousElementSibling |
element의 이전, 좌측에 있는 요소 하나 |
element.nextElementSibling |
element의 다음, 우측에 있는 요소 하나 |
주요 요소 노드 프로퍼티
프로퍼티 | 결과 |
element.innerHTML |
요소 안의 정보를 확인할 수 있고, 내부의 HTML 자체를 수정할 때 자주 활용 |
element.outerHTML |
새로운 값을 할당하면 요소 자체가 교체되어 버림 |
element.textContent |
HTML태그를 쓰더라도 모두 텍스트로 처리됨 |
요소 노드 다루기
1. 요소 노드 생성 : document.createElement('태그이름')
2. 요소 노드 추가, 이동 : element.prepend
, element.append
, element.after
, element.before
3. 요소 노드 삭제 : element.remove()
HTML 속성
1. 속성에 접근 : element.getAttribute('속성')
2. 속성 추가(수정) : element.setAttribute('속성', '값')
3. 속성 제거 : element.removeAttribute('속성')
classList 메서드
메소드 | 내용 |
classList.add |
클래스 추가 |
classList.remove |
클래스 삭제 |
classList.toggle |
클래스 없으면 추가, 있으면 삭제 |
이 글은 내용을 축소하여 정리한 것으로 일부 정보가 누락되었을 수 있음.
'Front-End > JavaScript' 카테고리의 다른 글
[JavaScript] 옵셔널 체이닝 (Optional Chaining) (0) | 2024.09.12 |
---|---|
[JavaScript] 콜백 함수(Callback) 정리 (0) | 2024.09.11 |
[JavaScript] Rest Parameter, Arrow Function, this 정리 (2) | 2024.09.11 |
[JavaScript] AND, OR 연산자 정리 (Feat. null 병합 연산자) (0) | 2024.09.10 |
[JavaScript] 이벤트 핸들링 (등록, 삭제, 브라우저 기본 동작 제어) (1) | 2024.09.09 |