JSFiddle - React, Tailwind, and code Playground

by Graham Fairweather

HTML

<div id="parentfolder">parentfolder1
    <div class="item1">item1</div>
    <div class="item2">item2</div>
    <div id="parentfolder">parentfolder2
        <div class="item1">item1</div>
        <div class="item2">item2</div>
    </div>
</div>

JavaScript

function textNodeValuesToArray(node) {
    if (typeof node === "string") {
        node = document.getElementById(node);
    }

    var arrayOfText = [],
        treeWalker = document.createTreeWalker(node, NodeFilter.SHOW_TEXT, {
            acceptNode: function (node) {
                return NodeFilter.FILTER_ACCEPT;
            }
        }, false);

    while (treeWalker.nextNode()) {
        arrayOfText.push(treeWalker.currentNode.nodeValue);
    }

    return arrayOfText;
}

console.log(textNodeValuesToArray("parentfolder"));