Я шукав кращий відповідь точки зору продуктивності при роботі на важливому DOM.
Відповідь безвокості вказував, що найкраще використовувати вистави з використанням javascript.
Я зробив наступні тести часу виконання на 5000 рядків та 400 000 символів із складеною композицією DOM всередині розділу для видалення. Я використовую ідентифікатор замість класу з зручної причини, коли використовую javascript.
Використання $ .unwrap ()
$('#remove-just-this').contents().unwrap();
201,237 мс
Використання $ .replaceWith ()
var cnt = $("#remove-just-this").contents();
$("#remove-just-this").replaceWith(cnt);
156,983мс
Використання DocumentFragment у 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мс
Висновок
З точки зору продуктивності, навіть на відносно великій структурі DOM різниця між використанням jQuery та javascript не величезна. Дивно, але $.unwrap()
це найдорожче $.replaceWith()
. Тести були проведені за допомогою jQuery 1.12.4.