작성
·
1.6K
0
elem.childNodes 중 특정 class를 찾는건 어떻게 하나요??
elem.childNodes.classList.contains('class');
로 하면 못찾는거같더라구요
for(let i = 0; i < elem.childNodes.length; i++) {
elem.childNodes.classList.contains('class');
}
도 안되고,, 어렵네욤,,,
답변 2
3
childNodes로 접근하면 엘리먼트노드 외에 텍스트 노드들도 다 포함이 되기 때문에
각 노드의 nodeType을 체크해 주셔야 합니다(nodeType === 1 이 엘리먼트 노드).
for(let i = 0; i < elem.childNodes.length; i++) {
if (elem.childNodes[i].nodeType === 1) {
console.log(elem.childNodes[i].classList.contains('class'));
}
}
이런 식으로 해보시면 원하는 동작이 될거에요~
하지만 저는 childNodes를 사용하는 방식 보다는
elem.querySelectorAll('class') 로 원하는 클래스를 가진 자식 엘리먼트들의 목록을 가져오는 방식을 많이 사용합니다.
1