2차 공부/TIL

24.07.25 DOM / DOM 조작하기

공대탈출 2024. 7. 25. 10:42

1. js가 왜 생겼는데

 - 브라우저에서 사용하기 위한 언어이다.

 - 웹 페이지를 동적으로 만들기 위해, 즉 HTML문서를 조작해서 생명력을 불어넣어주기 위해 만들어진 언어디다.

 

2. 웹 페이지가 뜨는 과정

 - 사용자가 'www.naver.com'을 주소에 입력한다.

   1. 클라이언트가 서버에게 요청(req)을 함

   2. 우리가 크롬을 통해 클라이언트의 역할을 하는 것

 - HTML문서를 서버로부터 수신한다.

   1. 네이버 서버는 우리(=브라우저 =클라이언트)에게 응답(res)을 한다.

   2. 그 응답이 HTML문서이다.

 - 브라우저가 HTML 파일을 해석(parsing 파싱)

   1. 브라우저에는 기본적으로 렌더링 엔진이 있다. 서버가 클라이언트에게 준 HTML문서를 렌더링 한다.

   2. 렌더링 엔진이 HTML문서의 코드 한줄, 한줄을 보며 해석하는 것이다.

 - js가 알아들을 수 있는 방식으로 해석한 내용을 DOM Tree로 구성한다.

 

 - DOM Tree랑 CSSOM Tree를 묶어서 Render Tree를 구성한다.

   1. 레이아웃계산과 페인팅 과정을 통해 사용자에게 보여진다.

 

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body>
        <nav>
            <ul>
                <li>첫 번째 메뉴</li>
                <li>두 번째 메뉴</li>
                <li>세 번째 메뉴</li>
            </ul>
        </nav>
        <main>
            <h1>메인 영역의 제목입니다.</h1>
            <img
                src="https://pbs.twimg.com/profile_images/1800056935028543488/OfF28Ih-_400x400.jpg"
                alt="이미지없음"
            />
        </main>
        <footer>copyright.</footer>
    </body>
</html>

 

DOM - Document(HTML 파일)을 JS가 알아들을 수 있는 Object형태로 Modeling 한 것이다


DOM Node 기어다니기

querySelector() - id나 class명으로 element를 가져온다.

getElementById() - id명으로 해당 id를 가진 element를 가져온다.

children - 해당 element의 자식요소를 가져온다.

parentElement - 해당 element의 부모요소를 가져온다.

getElementsByTagName - 해당 태그인 모든 element를 가져온다.

createElement로 만든 div를 body태그에 append 하였다.

 

innerText 속성으로 내부 값 바꾸기

 

 

setAttribute로 해당 태그 속성값 바꾸기

 

 

'2차 공부 > TIL' 카테고리의 다른 글

24.07.25 클로저  (0) 2024.07.25
24.07.25 클래스  (0) 2024.07.25
24.07.24 콜백지옥 / 동기, 비동기  (0) 2024.07.24
24.07.23 This  (0) 2024.07.23
24.07.23 콜/스택, 실행 컨텍스트  (0) 2024.07.23