Saya mencoba memasukkan sepotong HTML ke dalam div. Saya ingin melihat apakah cara JavaScript biasa lebih cepat daripada menggunakan jQuery. Sayangnya, saya lupa bagaimana melakukannya dengan cara 'lama'. : P
var test2 = function(){
var cb = function(html){
var t1 = document.getElementById("test2");
var d = document.createElement("div");
d.id ="oiio";
d.innerHtml = html;
t1.appendChild(d);
console.timeEnd("load data with javascript");
};
console.time("load data with javascript");
$.get("test1.html", cb);
}
apa yang saya lakukan salah di sini kawan?
edit :
Seseorang bertanya mana yang lebih cepat, jquery atau js biasa jadi saya menulis tes:
http://jsperf.com/html-insertion-js-vs-jquery
js biasa 10% lebih cepat
javascript
mkoryak
sumber
sumber
Jawaban:
Saya pikir inilah yang Anda inginkan:
Perlu diingat bahwa innerHTML tidak dapat diakses untuk semua jenis tag saat menggunakan IE. (elemen tabel misalnya)
sumber
Menggunakan JQuery akan mengatasi ketidakkonsistenan browser itu. Dengan perpustakaan jquery yang disertakan dalam proyek Anda, cukup tulis:
Anda juga dapat mempertimbangkan untuk menggunakan:
Ini akan menambahkan galeri Anda sebagai item terakhir di div yang dipilih. Atau:
Ini akan menambahkannya sebagai item pertama di div yang dipilih.
Lihat dokumen JQuery untuk fungsi-fungsi ini:
sumber
Saya menggunakan "+" (plus) untuk memasukkan div ke html:
document.getElementById('idParent').innerHTML += '<div id="idChild"> content html </div>';
Semoga bantuan ini.
sumber
Sebagai alternatif, Anda dapat menggunakan sisipanHTML - namun saya menggali dan membuat beberapa tes kinerja - (2019.09.13 Jumat) MacOs High Sierra 10.13.6 di Chrome 76.0.3809 (64-bit), Safari 12.1.2 (13604.5.6), Firefox 69.0.0 (64-bit)). Tes F hanya untuk referensi - itu di luar cakupan pertanyaan karena kita perlu memasukkan html secara dinamis - tetapi di F saya melakukannya dengan 'tangan' (dengan cara statis) - secara teoritis (sejauh yang saya tahu) ini seharusnya menjadi cara tercepat untuk memasukkan elemen html baru.
RINGKASAN
innerHTML =
(tidak bingung dengan+=
) adalah tercepat (Safari 48k operasi per detik, Firefox 43k op / sec, Chrome 23k op / detik) yang A adalah ~ 31% lebih lambat dari solusi ideal F hanya chrome tapi di safari dan firefox lebih cepat ( !)innerHTML +=...
paling lambat pada semua browser (Chrome 95 op / detik, Firefox 88 op / sec, Sfari 84 op / detik)Info lebih lanjut tentang mengapa
innerHTML =
jauh lebih cepat dariinnerHTML +=
yang di sini . Anda dapat melakukan pengujian di mesin / browser Anda DI SINITampilkan cuplikan kode
sumber
Dan banyak garis mungkin terlihat seperti ini. Html di sini hanya contoh.
sumber