Szukałem najlepszej odpowiedzi pod względem wydajności podczas pracy nad ważnym DOM.
Odpowiedzią bez powieki było wskazanie, że przy użyciu javascriptu najlepsze wyniki będą.
Wykonałem następujące testy czasu wykonania na 5000 wierszy i 400 000 znaków ze złożoną kompozycją DOM wewnątrz sekcji do usunięcia. Używam identyfikatora zamiast klasy z wygodnego powodu podczas korzystania z javascript.
Używanie $ .unwrap ()
$('#remove-just-this').contents().unwrap();
201,237 ms
Używanie $ .replaceWith ()
var cnt = $("#remove-just-this").contents();
$("#remove-just-this").replaceWith(cnt);
156,983 ms
Korzystanie z DocumentFragment w 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
Wniosek
Pod względem wydajności, nawet przy stosunkowo dużej strukturze DOM, różnica między używaniem jQuery a javascript nie jest ogromna. Zaskakujące $.unwrap()jest to, że jest bardziej kosztowne niż $.replaceWith(). Testy zostały wykonane za pomocą jQuery 1.12.4.