- HTML 요소의 children 속성과 데이터 타입 -
const ele = document.querySelector('#target');
const chld = ele.children;
HTML 엘리먼트의 children 속성은 자료형이 HTML Collection 이다.
list처럼 보이기는 하지만, 엄밀히 말해서 list는 아니다.
forEach 반복문은 인덱스를 따로 설정할 필요 없이
배열 안에 있는 요소들로 반복문을 돌릴 수 있는 편한 함수다.
하지만 forEach는 배열에서 쓸 수 있는 함수이기 때문에
HTML Collection 은 forEach를 쓸 수 없다.
- HTML Collection 반복문 돌리는 법 -
그럼 HTML Collection 데이터는 반복물을 돌릴 수 없을까?
HTML Collection 도 반복문을 돌릴 수 있는 방법이 있기는 하다.
forEach보다는 조금 더 번거롭지만, for문을 이용하는 방법이다.
HTML Collection은 안에 들어 있는 요소들이 몇 개인지 length 속성을 가지고 있다.
또한 target[3]처럼 숫자 인덱스로 특정 요소들에 접근할 수도 있다.
이 두 가지를 활용하면 사실상 forEach와 같은 효과를 낼 수 있다.
바로 for문을 돌릴 수 있기 때문이다.
const ele = document.querySelector('#target');
const chld = ele.children;
const codeList = [];
for(i = 0; i < chld.length; i++) {
codeList.push(chld[i].dataset.code);
};
반응형
'JavaScript' 카테고리의 다른 글
HTML 요소의 'data-' 속성 ele.dataset.? 활용하기 (0) | 2022.08.24 |
---|---|
페이징 인덱스 만들기 / 페이지네이션 만드는 법 (0) | 2022.08.22 |
[JavaScript] 동적으로 추가한 <script>가 실행되지 않을 때 (0) | 2022.08.08 |
[JavaScript] 팝업창 다른 페이지에서 불러올 때 script 주의할 점 (0) | 2022.07.31 |
[JavaScript] Uncaught ReferenceError: fn is not defined at HTML Element onclick 원인 이유과 해결 방법 (0) | 2022.07.25 |