3.8 CSS in JS (3)
classList
이번 강의에서는 class name을 바꾸는 다른 방법인 classList를 사용해보자!
classList : class들의 목록으로 작업할 수 있게끔 허용해준다!
className은 클래스 이름이 여러개일수도 있는데, 클래스들을 하나로 생각하기 때문에 모든걸 교체해버려서 섬세한? 작업을 못함ㅇㅇ
classList에는 유용한 함수들이 있다.
+ remove, add
const h1 = document.querySelector(".hello h1"); function handleTitleClick(){ const clickedClass = "clicked" if(h1.classList.contains(clickedClass)){ h1.classList.remove(clickedClass); } else{ h1.classList.add(clickedClass); } } h1.addEventListener("click",handleTitleClick);
"clicked"를 포함하지 않으면 추가해주고, 존재하면 제거해준다.
toggle
근데 다음으로 해줄건 이 코드들을 전부 지울거임
??왜...나름 열심히 짠거 아니야?라고 생각했는데....;-;
class name을 추가하고 제거하는 뭐 이런 작업들은 개발자들이 흔하게 하는 작업이다. 그렇기 때문에, 이 작업을 더 효율적으로 할 수 있는 함수들이 존재한다!! GOOD
toggle : class name을 확인하여 존재한다면 제거하고, 없으면 추가한다.
그리고 이 경우엔 string을 한번만 사용하기 때문에 더 간결한 코드를 위해서 const clickedClass = "clicked"
구문 삭제해준다.
그럼 언제 변수로 지정해주는가? string을 반복하는 순간 ㅇㅇ
완성된 코드
const h1 = document.querySelector(".hello h1"); function handleTitleClick(){ h1.classList.toggle("clicked"); } h1.addEventListener("click",handleTitleClick);
다음 강의는 이제 진짜 momentum앱을 만들 빌드를 쌓을거다!
Author And Source
이 문제에 관하여(3.8 CSS in JS (3)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kangmin01/3.8-CSS-in-JS-3저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)