Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 비동기프로그래밍
- 동적 웹 페이지
- 웹개발
- tanStack Query
- 퍼포먼스 최적화
- 풀스택 개발
- 코드리뷰
- Node.js
- JavaScript
- 자바스크립트공부
- 리액트 기초
- 비동기 요청 처리
- 패키지 스크립트
- html
- 국제화(i18n)
- #프론트엔드개발
- Promise
- 웹 성능 최적화
- 상태 관리 라이브러리
- css
- jsx
- 프론트엔드
- 웹 개발
- 자바스크립트
- fe
- 웹 성능
- 컴포넌트
- dom
- 프라미스체이닝
- React
Archives
- Today
- Total
sodol-dotcom
JavaScript와 HTML의 상호작용 그리고 DOM 본문
- 웹 페이지를 여는 과정:
- 웹 브라우저: 웹 브라우저는 HTML 문서를 받아서 화면에 표시한다. 브라우저는 HTML 문서를 해석하여 화면에 보여주기 위해 내부적으로 문서를 처리한다.
- 문서 파싱:
- 파싱(Parsing): 파싱은 브라우저가 HTML 문서의 텍스트를 읽어들이고 이해할 수 있는 구조로 변환하는 과정이다. 즉, HTML 문서의 텍스트를 읽어들여 브라우저가 이해할 수 있는 형식으로 변환한다.
- 파싱이 끝나면 브라우저는 이 구조를 DOM(Document Object Model)이라고 부르는 형태로 변환한다.
DOM(Document Object Model)
- DOM: DOM은 웹 페이지의 구조를 JavaScript가 이해하고 조작할 수 있는 형태로 표현한 것이다. DOM은 HTML 문서의 각 요소를 객체로 변환하며, 이 객체들을 통해 JavaScript가 페이지의 내용을 제어할 수 있다.
JavaScript의 역할
- JavaScript와 DOM의 상호작용:
- 요소 찾기: JavaScript는
`document.querySelector`
와 같은 메서드를 사용하여 DOM에서 특정 HTML 요소를 찾아낸다. 예를 들어,document.querySelector("#searchInput")
는id
가"searchInput"
인 요소를 찾는다. - 이벤트 처리: JavaScript는 요소에 대한 이벤트(예: 클릭, 입력 등)를 처리할 수 있다. 예를 들어, 버튼을 클릭했을 때 특정 작업을 수행하도록 설정할 수 있다.
- 내용 수정: JavaScript를 사용하여 HTML 요소의 내용이나 속성을 동적으로 변경할 수 있다. 예를 들어, 입력 필드의 값을 읽어서 페이지에 표시할 수 있다.
- 요소 찾기: JavaScript는
단계별 예시
- HTML 문서:
- 이 HTML 문서에는 입력 필드와 버튼이 있다.
html 코드 복사 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Example</title> </head> <body> <input type="text" id="searchInput" placeholder="Type something..."> <button id="searchBtn">Submit</button> <script src="script.js"></script> </body> </html>
- 브라우저가 문서를 파싱:
- 브라우저는 이 HTML 문서를 읽어서 DOM으로 변환한다.
- DOM은 입력 필드와 버튼을 각각 객체로 표현하여 JavaScript가 조작할 수 있게 한다.
- JavaScript 코드 (
script.js
):document.addEventListener('DOMContentLoaded', ...)
: 이 코드는 HTML 문서의 로딩이 완료된 후에 실행된다. 즉, DOM이 완성된 후에 JavaScript가 작동하게 된다.document.querySelector("#searchInput")
: 이 코드는 DOM에서id
가"searchInput"
인 요소를 찾아searchInput
변수에 저장한다.searchBtn.addEventListener('click', ...)
: 이 코드는 버튼이 클릭되었을 때 입력 필드의 값을 가져와서 알림으로 표시한다.
jsx 코드 복사 document.addEventListener('DOMContentLoaded', () => { const searchInput = document.querySelector("#searchInput"); const searchBtn = document.querySelector("#searchBtn"); searchBtn.addEventListener('click', () => { alert(searchInput.value); // 입력 필드의 값을 알림으로 표시 }); });
요약
- 파싱: HTML 문서를 텍스트에서 DOM 구조로 변환하는 과정이다.
- DOM: HTML 문서의 구조를 JavaScript가 조작할 수 있는 객체 형태로 표현한 것이다.
- JavaScript: DOM을 통해 HTML 요소를 찾아내고, 이벤트를 처리하고, 내용을 수정하는 등의 작업을 수행한다.
이렇게 HTML과 JavaScript가 함께 작동하여 웹 페이지의 동작을 제어하게 된다.
'Fundamentals > Browser Mechanics' 카테고리의 다른 글
Reflow & Repaint (0) | 2024.10.02 |
---|---|
브라우저의 렌더링 과정(Critical Rendering Path) (2) | 2024.10.02 |
브라우저에서 어떻게 DOM으로 변환되는지 (0) | 2024.09.09 |