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
Lepaskan: 2024-11-12 11:25:01
asal
595 orang telah melayarinya

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));
}
Salin selepas log masuk

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);
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan