Javascript : Document

2023. 3. 15. 17:15javascript

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JavaScript - document, element</title>
    <link rel="stylesheet" href="../../css/reset.css">
    <link rel="stylesheet" href="../../css/dark.css">
    <style>
        i { font-style: italic; }
    </style>
</head>
<body>
    <!-- JavaScript 에서 조작할 요소(element) -->
    <h1 id="hello" class="gray-box">Hello World!</h1>
    <h1 id="nice" class="gray-box">Nice to meet you!</h1>

    <script>
        // id 속성이 "hello" 인 요소(#hello)의 내부 문자를
        // "Hello JavaScript!" 로 설정
        // → 1. DOM 내의 요소(element)를 조작하려면
        //      가장 먼저 탐색부터 해야한다.
        //   2. 탐색한 element 객체의 innerHTML 속성을 통해
        //      내부 문자를 설정

        // 1. id 속성을 통해 element 객체를 탐색하여 반환
        var hello = document.getElementById("hello");
        // = 변수 hello 에는 #hello 요소를 표현하는
        //   element 객체가 저장된다.

        // #hello 요소를 출력
        console.log(hello);

        // #hello 요소의 내부 문자를 출력
        console.log("hello.innerHTML = " + hello.innerHTML);
       
        // #hello 요소의 내부 문자를 설정
        // 이때 내부 문자를 HTML 형식으로 마크업하기 때문에
        // 태그를 추가할 수 있다.
        hello.innerHTML = "<i>Hello JavaScript!</i>";
        console.log("hello.innerHTML = " + hello.innerHTML);


        // 2. class 속성을 통해 element 객체가 저장된 배열을 탐색
        //   → class 속성은 다수의 요소에 중복으로 설정이 가능하기 때문에
        //     다수의 요소가 탐색될 수 있다.
        //   → 따라서 다수의 요소를 반환하기 위해 배열로 저장해서 반환
        var grayBox = document.getElementsByClassName("gray-box");

        // .gray-box 요소 출력
        //  → 배열로 반환되기 때문에 배열로 출력된다.
        //  → element 객체가 배열 안에 저장되기 때문에
        //    요소를 조작하려면 인덱스를 지정하거나,
        //    요소의 id 속성을 지정하면 된다.
        console.log(grayBox);
        console.log(grayBox[0]);        // 인덱스가 0에 위치한 element 객체
        console.log(grayBox["hello"]);  // id 속성이 "hello" 인 element 객체

        // 내부 문자 출력
        console.log("grayBox[0].innerHTML = " + grayBox[0].innerHTML);

        // 내부 문자 설정
        grayBox[0].innerHTML = "<i>Have a nice day!</i>";
    </script>

</body>
</html>

'javascript' 카테고리의 다른 글

Javascript : Element 2  (0) 2023.03.15
Javascript : Element 1  (0) 2023.03.15
Javascript : Window(window 객체)  (0) 2023.03.15
Javascript : Object(객체)  (0) 2023.03.15
Javascript : Function(함수)2  (0) 2023.03.15