728x90
반응형
1. 문제
(1) 영화 검색으로 하면 2번째 그리드가 안 보이기만하고, 정렬되어 안 보임
(2) [문제 코드] : cardContainer가 아니라 그 부모( 윗 단계의 Div를 선택했어야 했음)
let cardContainer = document.getElementsByClassName('cardContainer');
cardContainer[i].style.display = 'none';
function Search() {
//입력된 검색값
let text = document.querySelector('#searchInput').value.toUpperCase();
let cards = document.getElementsByClassName('top');
let cardContainer = document.getElementsByClassName('cardContainer');
for (let i = 0; i < cards.length; i++) {
let titleName = cards[i].getElementsByClassName('title');
if (titleName[0].innerHTML.toUpperCase().indexOf(text) > -1) {
cardContainer[i].style.display = 'block'; //여기가 문제
} else {
cardContainer[i].style.display = 'none'; //여기가 문제
}
}
}
2. 개선
: 부모 코드를 선택해준다
(1)
let cardContainer = document.getElementsByClassName('cardContainer');
cardContainer = > 부모 코드인 (innerDiv) 로 선택
(2)
let cardContainer = document.getElementsByClassName('cardContainer');
cardContainer[i].style.display = 'none';
cardContainer[i].parentNode .style.display = 'none';
*
* display : grid를 사용했기에, 다른 방법이 있는 줄 았았는데, 그냥 영역을 잘못 선택한거였음.
반응형
'TIL :: Today I Learned' 카테고리의 다른 글
[보충] 함수 / 배열 (0) | 2023.10.25 |
---|---|
깃허브로 협업하기 (1) | 2023.10.24 |
사진에 마우스 hover 하면 버튼 기능 추가 (0) | 2023.10.24 |
#1 영화 TOP 20 검색 사이트 구현 (+오픈 api 사용) (0) | 2023.10.23 |
[JS 오류] Uncaught TypeError: Cannot read properties of null (reading 'addEventListener') (0) | 2023.10.19 |