classList, toggle

장돌뱅이 ·2022년 1월 22일
0
  • 코드 깔끔하게 정리하기 : raw string을 변수에 저장하기
  • classList: 우리가 class를 목록으로 작업할수 있게끔 허용해준다.
    className은 이전calss를 상관하지 않고 모든걸 교체해 버린다. 그래서 버그가 일어날 수 있다.
    classList를 이용하는건 element의 class 내용물을 조작하는 것을 허용한다는 뜻
  • contains 라는 함수 : 우리가 명시한 class가 HTML element의 class에 포함되어 있는지 말해준다.
  • remove 라는 함수 : 명시한 class name을 제거
  • add 라는 함수 : 명시한 class name을 추가
  • 위 모든걸 아우르는 toggle은 토큰이 존재하면 토큰제거, 토큰존재 하지않으면 추가한다.
    ex) toggle은 h1의 classList에 clicked class가 이미있는지 확인하여
    만약 있다면 toggle 이 clicked를 제거해준다
    만약 class name이 존재하지 않는다면 toggle은 classname 추가
const h1 = document.querySelector(".hello h1");

function handleTitleClick() {
  const activeClass = "active";
  if (h1.classList.contains(activeClass)) {
    h1.classList.remove(activeClass);
  } else {
    h1.classList.add(activeClass);
  }
}

함수는 

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

와 같다. 

h1.addEventListener("click", handleTitleClick);

0개의 댓글