반응형

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1 id ="title">
        여기를 변경해주세요
    </h1>

    <script>
        var title = document.getElementById("title");
        
        title.style.color = "white";
        title.style.background = "orange";
        title.innerHTML = "JavaScript로 문서를 조작";
    </script>
</body>
</html>

이런식으로 자바스크립트로 HTML 태그의 id값으로 접근해 조작할 수 있습니다.

 

📝document.getElementById

 

일단 태그에 id값을 주고 document.getElementById(id값)으로 접근할 수 있습니다.

 

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <ul>
        <li>first</li>
        <li>second</li>
        <li>third</li>
    </ul>


    <script>
        var li = document.querySelector("li");

        li.style.color = "red";
        li.style.background = "blue";
    </script>
</body>
</html>

CSS 선택자를 사용해 접근할 수 있습니다.

 

📝document.querySelector

document.querySelector("CSS선택자")로 접근할 수 있습니다. 가장 편하지만 첫 번째 요소만 선택할 수 있습니다.

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <ul>
        <li>first</li>
        <li>second</li>
        <li>third</li>
    </ul>


    <script>
        var li = document.getElementsByTagName('li');
        li[1].style.backgroundColor = "red";
        li[1].style.color ="white";
    </script>
</body>
</html>

📝document.getELementsByTagName

document.getElementsByTagName으로 태그명으로 접근 가능합니다 이와 같은 경우 인덱스로 다른 요소에 접근이 가능합니다.

 

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <ul>
        <li>first</li>
        <li>second</li>
        <li>third</li>
    </ul>

    <button onClick = "setColor()"> click</button>


    <script>
        function setColor(){
            var li = document.querySelectorAll("li");

            for(var i = 0; i < li.length ; i++){
                li[i].style.color = "green";
                li[i].style.backgroundColor ="orange";
            }
        }
    </script>
</body>
</html>

📝onClick, document.querySelectorAll

onClick 이란 클릭시 setColor()라는 메소드가 실행됩니다.

document.querySelectorAll(CSS선택자)선택자 각각 다 접근이 가능합니다.

그리고 배열로 잡히게됩니다. 각 인덱스를 for문으로 돌아서 적용시키는 문입니다.

 

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <ul>
        <li class="a">first</li>
        <li class="a">second</li>
        <li class="a">third</li>
    </ul>

    <button onClick = "setColor()"> click</button>


    <script>
        function setColor(){
            var li = document.getElementsByClassName("a");

            for(var i = 0; i < li.length ; i++){
                li[i].style.color = "green";
                li[i].style.backgroundColor ="orange";
            }
        }
    </script>
</body>
</html>

📝getElementsByClassName

위와 동일하지만 class이름으로 가져옵니다 getElementsByClassName을 이용해 같은 클래스 이름으로 배열로 가져옵니다.

반응형