replaceWith
, но видимо не так понял его суть.<div class="main">
<div class="box">
<p1>hello</p1>
</div>
</div>
const box = document.querySelector('.box')
const box2 = `
<div class="box box2">
<p1>hello world</p1>
</div>
`
box.replaceWith(box2)
const childElement = document.getElementById('child'); // находим потомка
const parentElement = childElement.parentNode; // находим родителя
// Создаем новый элемент
const newElement = document.createElement('p');
newElement.textContent = 'Новый элемент';
// Заменяем старый элемент на новый
parentElement.replaceChild(newElement, childElement);
const oldElement = document.getElementById('old');
// Создаем новый элемент
const newElement = document.createElement('div');
newElement.textContent = 'Новый элемент';
// Заменяем старый элемент новым
oldElement.replaceWith(newElement);
const oldElement = document.getElementById('old');
oldElement.replaceWith(document.createRange().createContextualFragment(`
<div class="box box2">
<p1>hello world</p1>
</div>
`));
элемент.insertAdjacentHTML('afterend', разметка);
элемент.remove();
// или
элемент.outerHTML = разметка;