Mengelakkan Perangkap Element.innerHTML =
Walaupun mudah, menggunakan element.innerHTML = ... untuk menambahkan kandungan boleh membawa kepada ketara implikasi prestasi. Ini kerana setiap kali innerHTML ditetapkan, HTML perlu dihuraikan, DOM dibina dan dimasukkan ke dalam dokumen.
Mengapa ini menjadi Masalah?
Pertimbangkan elemen dengan sejumlah besar kandungan HTML yang kompleks. Menetapkan innerHTML dengan operator = memaksa penghurai untuk menghuraikan semula semua kandungan ini sekali lagi, walaupun hanya sebahagian kecil mungkin telah berubah. Penghuraian yang berlebihan ini boleh memperlahankan pemaparan halaman dengan ketara.
Alternatif kepada innerHTML =
Untuk mengelakkan isu prestasi ini, pertimbangkan untuk menggunakan alternatif berikut:
var newElement = document.createElement('div'); newElement.innerHTML = '<div>Hello World!</div>'; elm.appendChild(newElement);
var newElement = document.createElement('div'); newElement.innerHTML = '<div>Hello World!</div>'; elm.insertBefore(newElement, elm.firstChild);
Nota Pengoptimuman Penyemak Imbas:
Sementara innerHTML = mungkin tidak optimum, adalah penting untuk ambil perhatian bahawa sesetengah penyemak imbas mungkin mengoptimumkan operasi ini dan mengelakkan menghuraikan semula kandungan sedia ada. Walau bagaimanapun, bergantung pada pengoptimuman ini tidak disyorkan, terutamanya untuk aplikasi kritikal prestasi.
Atas ialah kandungan terperinci Mengapakah Menggunakan `element.innerHTML =` merupakan Bottleneck Prestasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!