Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menambah Rentetan HTML dengan Selamat pada DOM Tanpa Menggunakan `div.innerHTML = str;`?

Bagaimana untuk Menambah Rentetan HTML dengan Selamat pada DOM Tanpa Menggunakan `div.innerHTML = str;`?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-05 07:13:02982semak imbas

How to Safely Append HTML Strings to the DOM Without Using `div.innerHTML  = str;`?

Tambah Rentetan HTML pada DOM Tanpa div.innerHTML

Semasa menambahkan rentetan HTML pada DOM menggunakan div.innerHTML = str; mungkin mudah, ia tidak digalakkan kerana kelemahan keselamatan. Pendekatan yang lebih selamat dan mantap ialah menggunakan kaedah insertAdjacentHTML().

Menggunakan insertAdjacentHTML()

insertAdjacentHTML() menawarkan cara yang standard untuk memasukkan rentetan HTML ke dalam DOM. Ia memerlukan dua parameter:

  • kedudukan: Menentukan tempat untuk memasukkan HTML berbanding elemen sasaran. Boleh jadi "sebelum mula," "selepas mula," "sebelum tamat," atau "selepas tamat."
  • html: Rentetan HTML untuk dimasukkan.

Dalam anda kes, untuk menambahkan rentetan HTML yang disediakan pada

dengan ID "ujian", anda boleh menggunakan kod berikut:

<code class="javascript">const div = document.getElementById("test");
div.insertAdjacentHTML("beforeend", str);</code>

Kedudukan "sebelum" akan memasukkan HTML di dalam

, selepas anak terakhirnya.

Keserasian Penyemak Imbas

insertAdjacentHTML() disokong dalam semua penyemak imbas moden, termasuk Chrome, Firefox, Safari dan Edge.

Demo Langsung

Untuk demonstrasi, lawati JSFiddle berikut: http://jsfiddle.net/euQ5n/

Atas ialah kandungan terperinci Bagaimana untuk Menambah Rentetan HTML dengan Selamat pada DOM Tanpa Menggunakan `div.innerHTML = str;`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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