Menambahkan HTML pada Elemen Bekas tanpa innerHTML Dilawati Semula
Persoalannya ialah bagaimana untuk menambahkan HTML ke dalam elemen kontena sambil mengelakkan pengehadan dan perangkap menggunakan harta innerHTML. Seperti yang dinyatakan oleh OP, innerHTML, disebabkan kelakuannya menggantikan kandungan sedia ada, boleh mengganggu elemen dinamik seperti media terbenam.
Syukurlah, terdapat alternatif yang dapat mengatasi isu ini: insertAdjacentHTML() . Kaedah ini menyediakan cara yang mudah dan fleksibel untuk menambahkan HTML ke lokasi yang ditentukan dalam elemen bekas.
Kaedah insertAdjacentHTML() mengambil dua parameter:
Kedudukan Sisipan: Parameter ini menentukan tempat rentetan HTML akan disisipkan. Ia boleh mengambil satu daripada empat nilai:
Dalam kes khusus anda, anda ingin menggunakan "sebelum" sebagai kedudukan, dengan berkesan menambahkan kandungan HTML ke bahagian bawah elemen bekas tanpa membuat sebarang teg tambahan seperti yang anda lakukan semasa menggunakan createElement().
Contohnya:
<code class="javascript">var container = document.getElementById('myContainer'); container.insertAdjacentHTML('beforeend', '<div id="newElement"></div>');</code>
Kod ini akan menambahkan elemen div baharu dengan ID "newElement" di bahagian bawah bekas elemen, tanpa menjejaskan elemen sedia ada atau kandungan dinamik.
Secara keseluruhan, insertAdjacentHTML() menyediakan penyelesaian yang teguh dan serba boleh untuk menambahkan HTML pada elemen kontena tanpa menghadapi kelemahan innerHTML.
Atas ialah kandungan terperinci Bagaimana untuk Menambahkan HTML pada Elemen Bekas tanpa Masalah InnerHTML?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!