Интерпретируя тот факт, что вы не хотите удалять </div><div class="box-2">
, который в основном "перемещает" содержимое box-2
в box-1
, вы можете сделать что-то вроде этого:
document.querySelector('#move').addEventListener('click', function(){
let box1 = document.querySelector('.box-1');
let box2 = document.querySelector('.box-2');
// copy the dom of box 2 into box 1
box1.innerHTML += box2.innerHTML;
// remove box 2
box2.remove();
});
.box-1 {
color: red;
}
.box-2 {
color: blue;
}
<div class="box-1">
Box 1
</div>
<div class="box-2">
Box 2
<p>
Test
</p>
</div>
<button id="move">
move content
</button>
Не самое элегантное решение, но выполняет свою работу. Обратите внимание, что это не перемещает фактические узлы, а скорее копирует содержимое. Это означает, что любая ссылка, которую вы указали в js на элемент внутри блока 2, больше не будет действительной.