Если вы хотите получить массив текста / HTML для каждого дочернего узла, вы можете запустить дочерние элементы с помощью оператора switch и проверить тип узла.
Примечание : Вот все nodeTypes .
const nodeText = (nodes) => {
return Array.from(nodes).map(node => {
switch (node.nodeType) {
case Node.TEXT_NODE:
return node.textContent.trim();
case Node.ELEMENT_NODE:
return node.outerHTML;
default:
return null;
}
}).filter(text => text != null);
}
console.log(nodeText(document.querySelector('p').childNodes));
.as-console-wrapper { top: 0; max-height: 100% !important; }
<p>text <b>bold</b> and <i>italic</i></p>