티스토리 뷰


const searchBox = document.querySelector("#search-box");	// searchBox 변수에 저장
const cssList = document.querySelectorAll(".list ul li");		// 다수의 li를 cssList에 저장
const cssCount = document.querySelector(".count em");		// em을 cssCount에 저장

cssList.forEach((element, index) => {			// cssList의 각각 요소값에 적용
        element.classList.add("show");				// 각각의 요소의 클래스 show 추가
        cssCount.innerHTML = index + 1;			// cssCount 에 인덱스값 + 1 입력
    });

searchBox.addEventListener("keyup", () => {		// searchBox에 keyup 했을 때
    const searchWord = searchBox.value; 			// 사용자가 입력한 값

    cssList.forEach(el => {					// cssList의 각각 요소값에 적용
        const cssName = el.dataset.name; 		// 각 요소의 data-name을 cssName에 저장

        if (cssName.includes(searchWord)){	// 입력한 값을 cssName이 포함하고 있을 때
            el.classList.add("show");			// 클래스 show 추가
        } else {
            el.classList.remove("show");			// 그렇지 않으면, 클래스 show 삭제
        }
    })
})

includes()참고

전체 사이트 보기

'Script Sample > Search Effect' 카테고리의 다른 글

Search Effect 06 - sort() / reverse ()  (0) 2022.02.11
Search Effect 05 - filter()  (0) 2022.02.09
Search Effect 04 - find()  (0) 2022.02.08
Search Effect03 - charAt()  (0) 2022.02.08
searchEffect01 - indexOf()  (5) 2022.02.07
댓글
© 2018 webstoryboy