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 walkTheDOM(node, func) {
    func(node);
    node = node.firstChild;
    while (node) {
        walkTheDOM(node, func);
        node = node.nextSibling;
    }
}

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

    var arrayOfText = [];

    function pushText(currentNode) {
        if (currentNode.nodeType === 3) {
            arrayOfText.push(currentNode.nodeValue);
        }
    }

    walkTheDOM(node, pushText);

    return arrayOfText;
}

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