Rumah >hujung hadapan web >tutorial js >Mengapakah `element.innerHTML = ...` Tidak Cekap untuk Menambah Elemen HTML?
Mengapa Menggunakan "element.innerHTML =..." Adalah Tidak Cekap
Dalam pembangunan web, tidak digalakkan untuk menambahkan elemen menggunakan "elemen .innerHTML = ...". Ini boleh mempunyai implikasi prestasi akibat pengendalian yang tidak cekap.
Parse Lag
Apabila "innerHTML" ditetapkan, penyemak imbas mesti menghuraikan HTML yang disediakan, membina Model Objek Dokumen (DOM), dan masukkannya ke dalam dokumen. Proses ini memakan masa.
Jika "elm.innerHTML" anda mengandungi banyak elemen HTML, memanggil " = ..." berulang kali akan memaksa penyemak imbas untuk menghuraikan semula semuanya setiap kali. Ini boleh menyebabkan kelewatan prestasi yang ketara, terutamanya jika kandungan sedia ada adalah meluas.
Pautan Semula DOM
Selain itu, menggunakan " = ..." boleh memecahkan rujukan kepada sedia ada Elemen DOM dalam "elm" anda. Ini boleh mengakibatkan tingkah laku yang tidak dijangka dan potensi kehilangan fungsi. Oleh itu, adalah amalan yang lebih dipercayai untuk menambahkan elemen baharu menggunakan kaedah khusus DOM.
Pendekatan Alternatif
Alternatif pilihan ialah mencipta elemen baharu, mengisi elemen tersebut "innerHTML" dengan kandungan yang diingini, dan kemudian tambahkannya pada "elm" anda menggunakan "appendChild" kaedah:
var newElement = document.createElement('div'); newElement.innerHTML = '<div>Hello World!</div>'; elm.appendChild(newElement);
Pendekatan ini memastikan bahawa hanya elemen yang baru dibuat dimasukkan ke dalam "elm" anda tanpa menjejaskan struktur DOM sedia ada.
Pengoptimuman Penyemak Imbas
Sesetengah penyemak imbas mungkin mengoptimumkan pengendali " = ...", mengurangkan pukulan prestasi. Walau bagaimanapun, tingkah laku ini tidak dijamin dan boleh berbeza-beza merentas penyemak imbas.
Atas ialah kandungan terperinci Mengapakah `element.innerHTML = ...` Tidak Cekap untuk Menambah Elemen HTML?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!