w3.css
Active 클래스 추가
JavaScript를 사용하여 현재 요소에 Active 클래스를 추가하는 방법을 알아보자.
활성 요소
1단계) HTML 추가
<div> 요소의 클래스를 “mystyle”에서 “newone”으로 변경한다.
<div id="myDIV"> <button class="btn">1</button> <button class="btn active">2</button> <button class="btn">3</button> <button class="btn">4</button> <button class="btn">5</button> </div>
2단계) CSS 추가
/* Style the buttons */ .btn { border: none; outline: none; padding: 10px 16px; background-color: #f1f1f1; cursor: pointer; } /* Style the active class (and buttons on mouse-over) */ .active, .btn:hover { background-color: #666; color: white; }
3단계) JavaScript 추가
// Get the container element var btnContainer = document.getElementById("myDIV"); // Get all buttons with class="btn" inside the container var btns = btnContainer.getElementsByClassName("btn"); // Loop through the buttons and add the active class to the current/clicked button for (var i = 0; i < btns.length; i++) { btns[i].addEventListener("click", function() { var current = document.getElementsByClassName("active"); current[0].className = current[0].className.replace(" active", ""); this.className += " active"; }); }
기본 예시
예제 보기처음에 버튼 요소에 활성 클래스가 설정되어 있지 않은 경우 다음 코드를 사용하자.
// Get the container element var btnContainer = document.getElementById("myDIV"); // Get all buttons with class="btn" inside the container var btns = btnContainer.getElementsByClassName("btn"); // Loop through the buttons and add the active class to the current/clicked button for (var i = 0; i < btns.length; i++) { btns[i].addEventListener("click", function() { var current = document.getElementsByClassName("active"); // If there's no active class if (current.length > 0) { current[0].className = current[0].className.replace(" active", ""); } // Add the active class to the current/clicked button this.className += " active"; }); }
기본 예시
예제 보기참고
W3C School - How TO - Add Active Class to Current Element