ContohDapatkan konten HTML dari suatu elemen dengan id="myP" Show
biarkan html = dokumen. getElementById("myP"). innerHTML; Cobalah sendiri "Ubah konten HTML suatu elemen dengan id="demo" dokumen. getElementById("demo"). innerHTML = "Saya telah berubah. "; Cobalah sendiri "Dapatkan konten HTML dari a
biarkan html = dokumen. getElementById("daftarsaya"). innerHTML; Cobalah sendiri "Hapus konten HTML a elemen dengan id="demo" Cobalah sendiri "Lebih banyak contoh di bawah ini Definisi dan PenggunaanProperti Perbedaan AntarainnerHTML, innerText dan textContentLihat di bawah SintaksisKembalikan properti innerHTML Setel properti innerHTML Nilai propertiKonten PropertyDescriptionStringHTMLNilai PengembalianTypeDescriptionStringKonten HTML elemenLebih Banyak ContohContohUbah konten HTML dari dua elemen biarkan teks = "Halo Dolly. "; ContohUlangi konten HTML suatu elemen elemen. innerHTML += elemen. innerHTML; Cobalah sendiri "ContohUbah konten HTML dan URL tautan elemen. innerHTML = "W3Schools"; Perbedaan AntarainnerHTML, innerText dan textContentProperti innerHTML kembaliKonten teks elemen, termasuk semua spasi dan tag HTML bagian dalam. Properti innerText kembali Hanya konten teks elemen dan semua turunannya, tanpa spasi dan tag teks tersembunyi CSS, kecuali CodeReturned Valuebrowser. DomElement("//div[@id='mylinks']"). GetProperty("textContents") This is my link collection:browser. DomElement("//div[@id='mylinks']"). GetProperty("innerText") This is my link collection:Bye bye Borland Welcome to Micro Focusbrowser. DomElement("//div[@id='mylinks']"). GetProperty("innerHtml") This is my <b>link collection</b>: <ul> <li><a href="www.borland.com">Bye bye <b>Borland</b></a></li> <li><a href="www.microfocus.com">Welcome to <b>Micro Focus</b></a></li> </ul> Anda dapat memasukkan HTML ke dalam ini. Namun kelemahan dari metode ini adalah, ia memiliki serangan keamanan lintas situs. Jadi untuk menambahkan teks, lebih baik hindari ini untuk alasan keamanan 2- teks dalam document.getElementById("ShowButton").innerText = 'Show Filter'; Ini juga akan mencapai hasil tetapi berat di bawah kap karena memerlukan beberapa informasi sistem tata letak, yang menyebabkan kinerja menurun. Tidak seperti innerHTML, Anda tidak dapat menyisipkan tag HTML dengan ini. Cek Disini 3- konten teks document.getElementById("ShowButton").textContent = 'Show Filter'; _Ini juga akan mencapai hasil yang sama tetapi tidak memiliki masalah keamanan seperti innerHTML karena tidak mengurai HTML seperti innerText. Selain itu, juga ringan sehingga performanya meningkat Ringkasan. dalam tutorial ini, Anda akan mempelajari perbedaan antara #1) createElement lebih berkinerjaMisalkan Anda memiliki elemen
Anda dapat menambahkan elemen baru ke elemen _ Anda juga dapat memanipulasi HTML elemen secara langsung menggunakan
Menggunakan _ Namun, menggunakan #2) createElement lebih amanSeperti yang disebutkan dalam tutorial innerHTML, Anda harus menggunakannya hanya jika data berasal dari sumber tepercaya seperti database Jika Anda menyetel konten yang tidak dapat Anda kendalikan ke innerHTML, kode berbahaya dapat diinjeksi dan dieksekusi #3) Menggunakan DocumentFragment untuk menyusun Node DOMDengan asumsi Anda memiliki daftar elemen dan Anda perlukan di setiap iterasi _ Kode ini menghasilkan perhitungan ulang gaya, lukisan, dan tata letak setiap iterasi. Ini sangat tidak efisien Untuk mengatasinya, Anda biasanya menggunakan _4 untuk menyusun simpul DOM dan menambahkannya ke pohon DOM
Dalam contoh ini, kami menyusun simpul DOM dengan menggunakan objek 4 dan menambahkan fragmen ke pohon DOM aktif satu kali di bagian akhir Fragmen dokumen tidak tertaut ke pohon DOM yang aktif, oleh karena itu, tidak menghasilkan kinerja apa pun Mengapa kita tidak menggunakan innerHTML?Penggunaan innerHTML menimbulkan potensi risiko keamanan untuk situs web Anda . Pengguna jahat dapat menggunakan skrip lintas situs (XSS) untuk menambahkan skrip sisi klien jahat yang mencuri informasi pribadi pengguna yang disimpan dalam cookie sesi.
Haruskah saya menggunakan innerHTML atau innerText?innerText mengembalikan semua teks yang dikandung oleh elemen dan semua elemen turunannya. innerHtml mengembalikan semua teks, termasuk tag html, yang dimuat oleh sebuah elemen .
Bagaimana saya bisa menambahkan HTML tanpa innerHTML?createElement dan appendChild. Salah satu cara menambahkan elemen turunan ke elemen penampung tanpa menyetel properti innerHTML adalah dengan menggunakan dokumen. metode createElement untuk membuat elemen. Kemudian kita bisa memanggil appendChild untuk menambahkan elemen.
Mengapa textContent lebih baik daripada innerHTML?Catatan. Tidak seperti innerHTML, textContent memiliki kinerja yang lebih baik karena nilainya tidak diuraikan sebagai HTML . Oleh karena itu, penggunaan textContent juga dapat mencegah serangan Cross-Site Scripting (XSS). Tidak seperti innerText, textContent tidak mengetahui gaya CSS dan tidak akan memicu reflow. |