Notice
«   2024/11   »
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
관리 메뉴

Jade_o.o

[javascript] JavaScript DOM - 클래스 관련 메소드, 속성 변경 메소드 본문

JavaScript

[javascript] JavaScript DOM - 클래스 관련 메소드, 속성 변경 메소드

by jade 2024. 1. 17. 17:20

JavaScript 클래스 관련 메소드에 대해 알아보기

 

먼저 전체 html, css 코드를 살펴보고 브라우저로 실행된 콘솔창도 함께 보자

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>DOM class</title>
    <style>
        .box {
            width: 100px;
            height: 100px;
            border: 1px solid black;
        }
        #green {
            background-color: green;
        }
        #red {
            background-color: red;
        }
        .d-none {
            display: none;
        }
    </style>
</head>
<body>
    <div class = "container">
        <div class="box" id="green">1</div>
        <div class="box" id="red">2</div>
        <div class="box">3</div>
        <div class="box">4</div>
        <div class="box">5</div>
    </div>
    <button onclick="addClass()">addClass</button>
    <button onclick="removeClass()">removeClass</button>
    <button onclick="containsClass()">containsClass</button>
    <button onclick="toggleClass()">toggleClass</button>

    <hr/>
    <input type="text" id="userName">

    <script>

    </script>
</body>
</html>
 // 클래스 관련 메소드
    let greenBox = document.getElementById('green');

 

addClass() : 클래스 추가
// 클래스 추가
    function addClass() {
        greenBox.classList.add('box1');
        console.log(greenBox.classList);
    }
    
    
 // html 코드
 <div class = "container">
    <div class="box" id="green">1</div>
    <div class="box" id="red">2</div>
    <div class="box">3</div>
    <div class="box">4</div>
    <div class="box">5</div>
</div>

    <button onclick="addClass()">addClass</button>
    <button onclick="removeClass()">removeClass</button>
    <button onclick="containsClass()">containsClass</button>
    <button onclick="toggleClass()">toggleClass</button>

    <hr/>
    <input type="text" id="userName">

html 코드와 함께 보면 addClass button을 누르면 

console.log에 2개의 배열로 데이터가 들어가 있음을 확인 할 수 있다.

 

removeClass() : 클래스 삭제
// 클래스 삭제
    function removeClass() {
        greenBox.classList.remove('box1');
        console.log(greenBox.classList);
    }
    
    
 // html 코드
 <div class = "container">
    <div class="box" id="green">1</div>
    <div class="box" id="red">2</div>
    <div class="box">3</div>
    <div class="box">4</div>
    <div class="box">5</div>
</div>

    <button onclick="addClass()">addClass</button>
    <button onclick="removeClass()">removeClass</button>
    <button onclick="containsClass()">containsClass</button>
    <button onclick="toggleClass()">toggleClass</button>

    <hr/>
    <input type="text" id="userName">

html 코드와 함께 보면 removeClass button을 누르면 

console.log에 1개의 배열로 데이터가 들어가 있음을 확인 할 수 있다.

즉 클래스를 삭제하여 1개의 배열만 남았음

 

containsClass() : 클래스 유무 확인 true / false 반환
// 클래스 유무 확인, true / flase 반환
    function containsClass() {
        console.log(greenBox.classList.contains('box1'));
    }
    
    
 // html 코드
 <div class = "container">
    <div class="box" id="green">1</div>
    <div class="box" id="red">2</div>
    <div class="box">3</div>
    <div class="box">4</div>
    <div class="box">5</div>
</div>

    <button onclick="addClass()">addClass</button>
    <button onclick="removeClass()">removeClass</button>
    <button onclick="containsClass()">containsClass</button>
    <button onclick="toggleClass()">toggleClass</button>

    <hr/>
    <input type="text" id="userName">

html 코드와 함께 보면 containsClass button을 누르면 

console.log에 false를 반환함을 확인할 수 있다.

 

 

toggleClass() : 클래스가 있으면 제거, 없으면 추가
// 클래스가 있으면 제거, 없으면 추가
    function toggleClass() {
    	greenBox.classList.toggle('d-none');
    }
    
    
 // html 코드
 <div class = "container">
    <div class="box" id="green">1</div>
    <div class="box" id="red">2</div>
    <div class="box">3</div>
    <div class="box">4</div>
    <div class="box">5</div>
</div>

    <button onclick="addClass()">addClass</button>
    <button onclick="removeClass()">removeClass</button>
    <button onclick="containsClass()">containsClass</button>
    <button onclick="toggleClass()">toggleClass</button>

    <hr/>
    <input type="text" id="userName">

html 코드와 함께 보면 toggleClass button을 누르면 

 

브라우저창에 1번 글이 작성되어있는 초록색 네모칸이 삭제되었음을 확인 할 수 있다.

 

 

placeholder : 속성 변경 메소드
// 속성 변경 메소드
    let inputE1 = document.getElementById('userName');
    inputE1.setAttribute('placeholder', 'name'); // 변경할려는 속성 값을 두번째 인자에 넣음
    inputE1.placeholder = 'name2';
    
// html 코드
    <input type="text" id="userName">

브라우저 가장 밑에 있는 input text칸 ('userName')은 원래 빈칸이였지만

inputE1.setAttribute('placeholder', 'name') 통해 input text칸에 name 글씨가 들어오고,
최종적으로 inputE1.placeholder = 'name2'; 코드를 통해

현 브라우저를 확인하면 알 수 있듯 name2 글씨가 작성되어있음

 

 

스타일 속성 기입 : .style
// 스타일 속성도 넣을 수 있음
    inputE1.style = 'color:red'
    //inputE1.style.color = 'red'; // 다른ver

// html 코드
    <input type="text" id="userName">

input text 칸에 글씨 작성 시 빨간색 글씨가 기입됨을 확인 할 수 있다.