Rumah > hujung hadapan web > tutorial css > HTMLCollection lwn. NodeList: Mengapa Mengubah Suai Elemen HTMLCollection Mempengaruhi Saiznya?

HTMLCollection lwn. NodeList: Mengapa Mengubah Suai Elemen HTMLCollection Mempengaruhi Saiznya?

Linda Hamilton
Lepaskan: 2024-11-30 05:36:10
asal
1055 orang telah melayarinya

HTMLCollection vs. NodeList: Why Does Modifying an HTMLCollection's Elements Affect Its Size?

HTMLCollection vs. NodeList: Punca Masalah

Skrip yang dibentangkan menghadapi masalah kerana fakta bahawa ia memanipulasi HTMLCollection sebaliknya daripada NodeList untuk mengubah suai kelas CSS. HTMLCollection ialah koleksi langsung, bermakna kandungannya dikemas kini secara automatik apabila perubahan dibuat pada DOM (Model Objek Dokumen). Tingkah laku ini membawa kepada akibat yang tidak diingini apabila mengubah saiz koleksi apabila nama kelas elemen diubah suai. Setiap kali elemen mempunyai nama kelasnya ditukar, koleksi mengecualikan elemen itu, menyebabkan saiznya berkurangan.

Penyelesaian: Mengulangi Hanya Elemen Pertama

Untuk menangani isu ini, adalah penting untuk memahami bahawa mengubah nama kelas mana-mana elemen dalam koleksi memberi kesan kepada koleksi itu sendiri. Oleh itu, penyelesaian yang optimum ialah mengubah suai nama kelas bagi elemen pertama sahaja, memastikan saiz koleksi kekal malar.

Untuk Gelung untuk Pengubahsuaian Nama Kelas

Daripada menukar nama kelas berbilang elemen secara manual, skrip boleh melelar melalui setiap elemen dalam HTMLCollection menggunakan gelung for. Pendekatan ini membenarkan pengubahsuaian nama kelas yang konsisten tanpa menjejaskan saiz koleksi.

Contoh Kod Dipertingkat

Kod yang diubah suai menggunakan gelung for untuk berulang melalui HTMLCollection dan menukar nama kelas setiap elemen kepada "block-selected":

var blockSet = document.getElementsByClassName("block-default");
var blockSetLength = blockSet.length;

for(var i = 0; i < blockSetLength; i++) {
    blockSet[0].className = "block-selected";
}
Salin selepas log masuk

Kesimpulan

Memahami perbezaan antara HTMLCollections dan NodeLists adalah penting dalam pengaturcaraan JavaScript. Dengan menggunakan struktur data yang betul untuk tugas yang sedang dijalankan, pembangun boleh mengelakkan akibat yang tidak diingini dan mencapai hasil yang diinginkan dengan cekap.

Atas ialah kandungan terperinci HTMLCollection lwn. NodeList: Mengapa Mengubah Suai Elemen HTMLCollection Mempengaruhi Saiznya?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan