본문 바로가기
JS/JS_BASE

[기본문법 15] CSS in JavaScript part Three

by David.Ho 2023. 2. 14.
728x90
반응형
// event
const h1 = document.querySelector("div.hello:first-child h1");

function handleTitleClick() {

    const clickedClass = "active"

    if(h1.classList.contains(clickedClass)) {
        h1.classList.remove(clickedClass);
    } else {
        h1.classList.add(clickedClass);
    }
}

h1.addEventListener("click", handleTitleClick);
// event
const h1 = document.querySelector("div.hello:first-child h1");

function handleTitleClick() {
    h1.classList.toggle("active");
}

h1.addEventListener("click", handleTitleClick);

 

 

classList 우리가 class들의 목록으로 작업할수 있게끔 허용해준다.
className은 이전calss를 상관하지않고 모든걸 교체해 버린다.

classList를 이용하는건
js에서 건드리는건 HTML element가 가지고있는 또하나의 요소 사용하는 것이다.
= element의 class내용물을 조작하는 것을 허용한다는 뜻

contains은 우리가 명시한 class가 HTML element의 class에 포함되어 있는지 말해준다

toggle은 토큰이 존재하면 토큰제거
토큰존재 하지않으면 토큰 추가

ex)
toggle은 h1의 classList에 clicked class가 이미있는지 확인하여
만약있다면 toggle 이 clicked를 제거해준다
만약 class name이 존재하지 않는다면 toggle은 classname 추가

728x90
반응형

'JS > JS_BASE' 카테고리의 다른 글

[기본문법 14] CSS in JavaScript part Two  (0) 2023.02.14
[기본문법 13] CSS in JavaScript  (0) 2023.02.14
[기본 문법 12] More Events  (0) 2023.02.14
[기본 문법 11] Events part Two  (0) 2023.02.14
[기본 문법 10] Events  (0) 2023.02.14

댓글