Apabila cuba menambahkan HTML pada elemen kontena, innerHTML mungkin bukan pilihan yang paling sesuai. Mekanismenya untuk menimpa HTML sedia ada boleh menyebabkan gangguan dalam media dinamik. Untuk mengelakkan perkara ini, mari kita teroka kaedah alternatif.
Satu pendekatan yang berdaya maju ialah mencipta elemen HTML baharu, tetapkan innerHTMLnya, dan kemudian tambahkannya pada elemen bekas. Walau bagaimanapun, ini memperkenalkan elemen tambahan yang tidak perlu ke dalam dokumen.
var e = document.createElement('span'); e.innerHTML = htmldata; element.appendChild(e);
Untuk menghapuskan elemen tambahan ini, pertimbangkan untuk menggunakan kaedah insertAdjacentHTML(). Ia membenarkan pemasukan disasarkan terus ke dalam elemen bekas, tanpa sebarang elemen perantara.
element.insertAdjacentHTML('beforeend', htmldata);
Dengan menyatakan tempat anda mahu rentetan HTML dilampirkan, menggunakan parameter seperti "sebelum mula", "selepas mula", "sebelum", dan "afterend", anda boleh mencapai peletakan kandungan yang tepat.
Berikut ialah contoh kaedah insertAdjacentHTML() dalam tindakan:
var d1 = document.getElementById('one'); d1.insertAdjacentHTML('beforeend', '<div id="two">two</div>');
Kaedah alternatif ini memberikan kawalan dan kecekapan yang lebih besar berbanding menggunakan innerHTML, membolehkan anda mengemas kini kandungan HTML tanpa mengganggu elemen sedia ada dalam dokumen.
Atas ialah kandungan terperinci Apakah Alternatif Terbaik kepada innerHTML untuk Menambah HTML pada Elemen Bekas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!