Nodelist 배열 만들기
ClassName "current" 찾기
Bard한데도 물어봤는데 일단 indexof로 직접 찾을 수 있는 방법은 없다고 하네요. 하여 2가지 방식이 있음
1. 변수로 current를 만들기
console보면 11이 나왔는데, 이것은 배열 속 current가 속한 인덱스 번호를 뜻함.
2. findIndex 사용하기
a)
const elements = document.querySelectorAll(".element"); // Replace with your array
const currentIndex = elements.findIndex(element => element.classList.contains("current"));
b)
const classNames = elements.map(element => element.classList); // Get array of class names
const currentIndex = classNames.indexOf("current");
배운점
다음으로 이동한 값을 어떻게 가져올 것 인가?
=> 다음 이동한 값을 변수로 저장할 것
//달력 좌우 버튼 영역
const $current = $calender.querySelector(".current");
const newIndex = [...$monthWrap.children].indexOf($current);
const offset = $button.dataset.direction === "next" ? 1 : -1;
const futureMonth = newIndex + offset;
if (futureMonth >= 0 && futureMonth < $monthWrap.children.length) {
$monthsP.forEach((month) => month.classList.remove("current"));
$monthWrap.children[futureMonth].classList.add("current");
return
}
'나의 FE피봇이야기 > Javascript' 카테고리의 다른 글
[삼항함수]Conditional (ternary) operator (0) | 2023.12.24 |
---|---|
[reduce] for문 같이 반복문 사용 가능한 (0) | 2023.12.24 |
[scope & closure] var / let / const (0) | 2023.12.19 |
[var / let] (0) | 2023.12.17 |
[splice/slice] (0) | 2023.12.16 |