Фрагменты могут состоять из нескольких элементов, а не только отдельных элементов. В таком случае, если техника вашего вопроса сработала, insertAdjacentElement
будет вставлять несколько элементов, а не только один элемент. (Это не называется insertAdjacentElements
)
Это просто запрещено. В отличие от appendChild
, insertAdjacentElement
не может принимать фрагмент в качестве аргумента.
Вы можете перебрать все дочерние фрагменты и вставить их afterend
:
// Create fragment, append elements
const fragment = document.createDocumentFragment();
fragment.appendChild(document.createElement('span')).textContent = 'span';
// Iterate through fragment
for (const element of fragment.children) {
divElement.insertAdjacentElement('afterend', element);
}
<div id="divElement"></div>
Или вы можете вызвать insertAdjacentElement
напрямую, вместо того, чтобы сначала поместить элементы во фрагмент.