Обернуть все что идет после div

Имеется div, после которого идет текст и другие элементы.

<div class="block">Some text</div>
<hr>
More text
<br>
Again more text

Как можно обернуть все, то что идет после div.block, включая hr и br в div.another__block


Ответы (2 шт):

Автор решения: Qwertiy

var b = document.querySelector('.block')
var d = document.createElement('div')

while (b.nextSibling) {
  d.appendChild(b.nextSibling)
}

b.insertAdjacentElement('afterend', d)
.block + div {
  border: 1px solid blue;
}
<div class="block">Some text</div>
<hr>
More text
<br>
Again more text

→ Ссылка
Автор решения: Qwertiy

var $b = $('.block')
var $c = $b.parent().contents()
$b.after($('<div>').html($c.slice($c.index($b) + 1)))
.block + div {
  border: 1px solid blue;
}
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<div class="block">Some text</div>
<hr>
More text
<br>
Again more text

var $b = $('.block')
var $c = $b.parent().contents()
$c.slice($c.index($b) + 1).wrapAll('<div>')
.block + div {
  border: 1px solid blue;
}
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<div class="block">Some text</div>
<hr>
More text
<br>
Again more text

→ Ссылка