Saya mencari jawaban terbaik dari segi performa saat mengerjakan DOM penting.
Jawaban eyelidlessness menunjukkan bahwa menggunakan javascript performanya akan lebih baik.
Saya telah membuat tes waktu eksekusi berikut pada 5.000 baris dan 400.000 karakter dengan komposisi DOM yang kompleks di dalam bagian untuk dihapus. Saya menggunakan ID alih-alih kelas untuk alasan nyaman saat menggunakan javascript.
Menggunakan $ .unwrap ()
$('#remove-just-this').contents().unwrap();
201.237 md
Menggunakan $ .replaceWith ()
var cnt = $("#remove-just-this").contents();
$("#remove-just-this").replaceWith(cnt);
156.983 md
Menggunakan DocumentFragment dalam javascript
var element = document.getElementById('remove-just-this');
var fragment = document.createDocumentFragment();
while(element.firstChild) {
fragment.appendChild(element.firstChild);
}
element.parentNode.replaceChild(fragment, element);
147,211 md
Kesimpulan
Dari segi kinerja, bahkan pada struktur DOM yang relatif besar, perbedaan antara penggunaan jQuery dan javascript tidaklah besar. Yang mengejutkan $.unwrap()
lebih mahal daripada $.replaceWith()
. Pengujian telah dilakukan dengan jQuery 1.12.4.