Общим хорошим советом для попыток сделать что-то, что вы обычно делаете с jQuery, без jQuery, - посмотреть на источник jQuery . Что они делают? Ну, они хватают всех детей, присоединяют их к новому узлу, а затем присоединяют этот узел внутри родительского элемента.
Вот простой небольшой метод для этого:
const wrapAll = (target, wrapper = document.createElement('div')) => {
;[ ...target.childNodes ].forEach(child => wrapper.appendChild(child))
target.appendChild(wrapper)
return wrapper
}
И вот как вы его используете:
// wraps everything in a div named 'wrapper'
const wrapper = wrapAll(document.body)
// wraps all the children of #some-list in a new ul tag
const newList = wrapAll(document.getElementById('some-list'), document.createElement('ul'))