Поширеним, так би мовити "bulletproof" підходом уже тривалий час є використання методу
replaceChild у батьківського елемента:parent.replaceChild(child, newChild);
Сьогодні ж є куди краший спосіб —
replaceWith. Це метод, який викликається напряму на елементі й дозволяє одразу вказати, чим його потрібно замінити:child.replaceWith(newChild);
Метод працює і для вставки кількох елементів одночасно, наприклад:
child.replaceWith(newChild1, newChild2);
Або навіть просто тексту:
child.replaceWith('Привіт!');Головне — памʼятати, що
replaceWith() видаляє елемент, на якому викликається, і вставляє на його місце все, що передано в аргументах. Якщо цей елемент ще не в DOM — метод не має жодного ефекту.Використовується він у всіх основних браузерах ще з 2019 року й входить у Baseline, працює стабільно, читається просто. Якщо ви ще досі видаляєте елементи вручну й потім вставляєте нові — спробуйте
replaceWith.До речі, вам уже випадала нагода використати
replaceWith у себе, чи ще тримаєтесь за remove і append? Напишіть у коментарях.Корисно? Цікаво? З вас вподобайка і репост.
MDN
@babichdev
