-
카테고리
-
세부 분야
웹 개발
-
해결 여부
미해결
childNodes 중에서 특정 class를 가진 요소는 어떻게 찾아야할까요?
19.05.20 17:13 작성 조회수 1.19k
0
elem.childNodes 중 특정 class를 찾는건 어떻게 하나요??
elem.childNodes.classList.contains('class');
로 하면 못찾는거같더라구요
for(let i = 0; i < elem.childNodes.length; i++) {
elem.childNodes.classList.contains('class');
}
도 안되고,, 어렵네욤,,,
답변을 작성해보세요.
3
1분코딩
지식공유자2019.05.21
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
답변 2