> 웹 프론트엔드 > JS 튜토리얼 > JavaScript에서 `getElementsByClassName`을 안전하게 반복하는 방법은 무엇입니까?

JavaScript에서 `getElementsByClassName`을 안전하게 반복하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-11-12 11:25:01
원래의
597명이 탐색했습니다.

How to Iterate through `getElementsByClassName` Safely in JavaScript?

getElementsByClassName을 올바르게 반복하는 방법

JavaScript에서 getElementsByClassName은 배열이 아닌 NodeList를 반환합니다. 이로 인해 반복 중에 NodeList가 빠르게 변경되는 등 초보자에게 예상치 못한 동작이 발생할 수 있습니다.

해결책 1: item() 메서드 사용

NodeList를 올바르게 반복하려면 , item() 메서드를 사용할 수 있습니다.

const slides = document.getElementsByClassName("slide");
for (let i = 0; i < slides.length; i++) {
   Distribute(slides.item(i));
}
로그인 후 복사

이 메서드는 항목의 i번째 요소를 반환합니다. NodeList.

해결책 2: NodeList를 배열로 복제

또는 NodeList를 배열로 복제하고 이를 반복할 수 있습니다.

const slides = document.getElementsByClassName("slide");
const slidesArray = Array.from(slides);
for (let slide of slidesArray) {
   Distribute(slide);
}
로그인 후 복사

이 솔루션은 중첩된 슬라이드가 있을 때 선호됩니다. NodeList.

중요 사항

Distribute 함수 내에서 DOM 트리를 수정할 때 NodeList가 변경될 수 있다는 점을 기억하는 것이 중요합니다. 따라서 DOM을 수정하기 전에 item() 메소드를 사용하거나 NodeList를 복제하는 것이 중요합니다.

위 내용은 JavaScript에서 `getElementsByClassName`을 안전하게 반복하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿