Mengapakah menggunakan `element.innerHTML = \'...\'` merupakan amalan yang tidak baik?

Mary-Kate Olsen
Lepaskan: 2024-11-16 22:35:03
asal
895 orang telah melayarinya

Why is using `element.innerHTML  =

Bahaya Menambahkan dengan Element.innerHTML

Anda pernah mendengar bisikan yang menggabungkan elemen menggunakan element.innerHTML = "..." ialah pengekodan tidak-tidak. Tetapi apakah sebenarnya kemudaratannya?

Pertimbangkan coretan berikut:

var str = "<div>hello world</div>";
var elm = document.getElementById("targetID");

elm.innerHTML += str; // Not recommended?
Salin selepas log masuk

Isunya terletak pada penghuraian dan pemaparan berulang HTML. Setiap kali innerHTML diberikan, penyemak imbas mesti menghuraikan HTML, membina DOM dan memasukkannya ke dalam dokumen. Proses ini memakan masa dan boleh menjadi sangat menyusahkan untuk struktur HTML yang kompleks.

Akibatnya, penggunaan innerHTML = untuk penambahan mudah elemen adalah tidak digalakkan. Sebaliknya, pilih kaedah appendChild:

var newElement = document.createElement('div');
newElement.innerHTML = '<div>Hello World!</div>';
elm.appendChild(newElement);
Salin selepas log masuk

Dengan menggunakan appendChild, anda mengelakkan penghuraian semula yang tidak perlu dan mengekalkan integriti elemen DOM sedia ada.

Nota: Walaupun sesetengah penyemak imbas mungkin mengoptimumkan operator =, sebaiknya jangan bergantung pada tingkah laku ini untuk prestasi pengoptimuman.

Atas ialah kandungan terperinci Mengapakah menggunakan `element.innerHTML = \'...\'` merupakan amalan yang tidak baik?. 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