Ich suchte nach der besten Antwort in Bezug auf die Leistung, während ich an einem wichtigen DOM arbeitete.
Die Antwort von eyelidlessness war, darauf hinzuweisen, dass die Aufführungen mit Javascript am besten wären.
Ich habe die folgenden Ausführungszeittests für 5.000 Zeilen und 400.000 Zeichen mit einer komplexen DOM-Komposition innerhalb des zu entfernenden Abschnitts durchgeführt. Ich verwende aus praktischen Gründen eine ID anstelle einer Klasse, wenn ich Javascript verwende.
Verwenden von $ .unwrap ()
$('#remove-just-this').contents().unwrap();
201,237 ms
Verwenden von $ .replaceWith ()
var cnt = $("#remove-just-this").contents();
$("#remove-just-this").replaceWith(cnt);
156,983 ms
Verwenden von 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
Fazit
In Bezug auf die Leistung ist der Unterschied zwischen der Verwendung von jQuery und Javascript selbst bei einer relativ großen DOM-Struktur nicht groß. Überraschenderweise $.unwrap()ist am teuersten als $.replaceWith(). Die Tests wurden mit jQuery 1.12.4 durchgeführt.