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 walkDOM(root, func) {
var node = root;
start: while (node) {
func(node);
if (node.firstChild) {
node = node.firstChild;
continue start;
}
while (node) {
if (node === root) {
break start;
}
if (node.nextSibling) {
node = node.nextSibling;
continue start;
}
node = node.parentNode;
}
}
}
function textNodeValuesToArray(node) {
if (typeof node === "string") {
node = document.getElementById(node);
}
var arrayOfText = [];
function pushText(currentNode) {
if (currentNode.nodeType === 3) {
arrayOfText.push(currentNode.nodeValue);
}
}
walkDOM(node, pushText);
return arrayOfText;
}
console.log(textNodeValuesToArray("parentfolder"));