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 중국어 웹사이트의 기타 관련 기사를 참조하세요!