Stavo cercando la migliore risposta dal punto di vista delle prestazioni mentre lavoravo su un DOM importante.
La risposta di eyelidnessness stava sottolineando che usando javascript le prestazioni sarebbero state migliori.
Ho effettuato i seguenti test del tempo di esecuzione su 5.000 righe e 400.000 caratteri con una composizione DOM complessa all'interno della sezione da rimuovere. Sto usando un ID invece di una classe per una comoda ragione quando utilizzo javascript.
Utilizzando $ .unwrap ()
$('#remove-just-this').contents().unwrap();
201.237 ms
Utilizzo di $ .replaceWith ()
var cnt = $("#remove-just-this").contents();
$("#remove-just-this").replaceWith(cnt);
156,983 ms
Utilizzo di DocumentFragment in 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 ms
Conclusione
Dal punto di vista delle prestazioni, anche su una struttura DOM relativamente grande, la differenza tra l'utilizzo di jQuery e javascript non è enorme. Sorprendentemente $.unwrap()è più costoso di $.replaceWith(). I test sono stati eseguiti con jQuery 1.12.4.