【초학자】 DOM에 대해서

개요



Vue.js를 기초에서 공부하고 있습니다만, DOM이라고 들은 적이 있지만 이해하고 있지 않은 상태였으므로, 간단하게 정리해 보았습니다.
DOM이란 무엇입니까? 라고 들었을 때 대답할 정도의 지식을 적어 둡니다.

DOM이란?



Document Object Model(DOM)은 HTML 및 XML 문서를 위한 프로그래밍 인터페이스입니다.
페이지를 표현하기 위해 프로그램이 문서 구조, 스타일 및 내용을 변경할 수 있습니다.
DOM은 문서를 노드와 객체로 표현합니다. 이렇게 하면 프로그래밍 언어를 페이지에 연결할 수 있습니다.

씹어서 간단하게 말하면, 「Javascript로부터 HTML을 조작할 수 있는 구조의 것」정도로 생각해 두면 좋을까라고

이렇게 말하면 간단한 생각이 들지 않습니까?
클릭하면 문자가 바뀌거나 그런 것을 실현하는 구조가 DOM입니다.

DOM의 특징



DOM에는 특징이 주로 3점 있으므로 보자.
  • 트리 구조라고 하는 계층 구조가 있다
  • 각 계층을 "노드"로 표현합니다.
  • 웹 페이지와 자바 스크립트와 같은 프로그래밍 언어를 연결하는 역할

  • DOM의 트리 구조란?



    그림에서 보자.


    html 안에 head와 body를 쓰고, head 안에는 title 태그가 있고, 같은 구조가 되어 있네요.

    덧붙여서 이것을 HTML로 쓰면 이렇게 되어 있습니다.

    .html
    <html>
     <head>
       <title>ページタイトル</title>
     </head>
     <body>
       <h1>メインタイトル</h1>
       <div>
         <p>テキストテキストテキスト</p>
         <img src="./img/hoge.jpg" alt="hoge">
       <div>
     </body>
    </html>
    

    대부분의 사람이 무의식적으로 계층 구조로 쓰고 있네요.

    노드란?



    노드는 위의 계층 구조를 나타내는 하나 하나입니다.
    위의 그림에서 볼 수 있듯이, Element 객체의 body와 title 등 1개씩을 노드라고 합니다.

    노드에는 부모-자식 관계도 있습니다.
    예를 들어,
    【document】는 【html】의 【부모 노드】
    【p】는 【div】의 【자식 노드】
    이런 식으로 표현될 수 있습니다.

    마지막으로



    실제로 DOM 조작을 하고 있는 내용도 추가하고 싶었습니다만, 길어질 것 같았으므로, 이번은 할애하고 있습니다.
    신경이 쓰이는 분은 참고 사이트를 확인해 주세요.

    참고 사이트

    좋은 웹페이지 즐겨찾기