Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mengulangi melalui `getElementsByClassName` Dengan Selamat dalam JavaScript?

Bagaimana untuk Mengulangi melalui `getElementsByClassName` Dengan Selamat dalam JavaScript?

DDD
DDDasal
2024-11-12 11:25:01600semak imbas

How to Iterate through `getElementsByClassName` Safely in JavaScript?

Cara Mengulang melalui getElementsByClassName Dengan Betul

Dalam JavaScript, getElementsByClassName mengembalikan NodeList, bukan tatasusunan. Ini boleh membawa kepada tingkah laku yang tidak dijangka untuk pemula, seperti NodeList yang berubah dengan pantas semasa lelaran.

Penyelesaian 1: Menggunakan Kaedah item()

Untuk lelaran melalui NodeList dengan betul , anda boleh menggunakan kaedah item():

const slides = document.getElementsByClassName("slide");
for (let i = 0; i < slides.length; i++) {
   Distribute(slides.item(i));
}

Kaedah ini mengembalikan elemen ke-1 NodeList.

Penyelesaian 2: Mengklon NodeList ke dalam Array

Nota Penting
const slides = document.getElementsByClassName("slide");
const slidesArray = Array.from(slides);
for (let slide of slidesArray) {
   Distribute(slide);
}

Adalah penting untuk diingat bahawa apabila mengubah suai pepohon DOM dalam fungsi Distribute, NodeList mungkin berubah. Oleh itu, adalah penting untuk menggunakan kaedah item() atau mengklon NodeList sebelum mengubah suai DOM.

Atas ialah kandungan terperinci Bagaimana untuk Mengulangi melalui `getElementsByClassName` Dengan Selamat dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn