티스토리 뷰
우선, classList란??
말그대로 html태그의 classList이다. 클래스 목록이라고 생각하면된다.
즉, html의 클래스로는 여러개의 클래스 명들이 들어올 수 있다.
우리는 다음과 같이 코드를 작성하여 글씨를 클릭할때 마다 색깔을 변하게 해주는 코드를 짰다
// JS 코드
const h1 = document.querySelector(".hello h1");
function handleTitleClick() {
const clickedClass = "active";
if (h1.classList.contains(clickedClass)) {
h1.classList.remove(clickedClass);
} else {
h1.classList.add(clickedClass);
}
}
h1.addEventListener("click", handleTitleClick);
// CSS 코드
body {
background-color: beige;
}
h1 {
color: red;
}
.active {
color: skyblue;
}
.sexy-font {
font-family: "Courier New", Courier, monospace;
}
다만 이렇게 하면 너무 코드가 길다.
위 코드를 한줄로 바꿔줄 수 있음
toggle을 사용하면 된다.
const h1 = document.querySelector(".hello h1");
function handleTitleClick() {
h1.classList.toggle("active");
}
h1.addEventListener("click", handleTitleClick);
toggle은 h1의 classList에 active class가 이미 있는지 확인해서,
만약 있다면, toggle이 active를 제거해주고,
만약 없다면, toggle이 active를 추가해준다.
toggle이란
스마트폰에 달린 홈버튼이라 생각하기.
한번 누르면 스크린 켜주고 다시 누르면 스크린 꺼준다.
'개발공부 > JS' 카테고리의 다른 글
[JS] 현재시간 불러오기 (0) | 2023.06.22 |
---|---|
[JS] localstorage에 item 생성, 삭제, 조회 (0) | 2023.06.21 |
[JS] e.preventDefault() 란?? (0) | 2023.06.21 |
[JS] innerHTML vs innerText (0) | 2023.06.21 |
[JS] 함수에 console.log 대신 return 쓰는 이유? (0) | 2023.06.20 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 깊은복사
- Navigator
- const
- removeitem
- 교착상태
- new Date()
- Hook
- useState
- var
- padStart
- setinterval
- classList
- 데드락
- Let
- e.preventDefault()
- Return
- getitem
- Geolocation
- setTimeout
- console.log
- react
- getCurrentPosition
- setitem
- 스코프
- 호이스팅
- localStorage
- createElement
- 브라우저 저장소
- innerText
- 얕은복사
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함