Need to process text inside uncertain layers of nested nodes using following function:
function processTextNodesIn(elem) {
if (elem) {
for (var nodes = elem.childNodes, i = nodes.length; i--;) {
var node = nodes[i], nodeType = node.nodeType;
if (nodeType == 3) {
console.log("innerHtml = " + node.innerHTML);
}
}
else if (nodeType == 1 || nodeType == 9 || nodeType == 11) {
processTextNodesIn(node);
}
}
}
}
Text could be inside multiple <p></p>
, <div></div>
, <li></li>
.
But the content found is all "undefined".
What did I do wrong?
Update: Tried innerText(textContent as well) as @patrick suggested, still prints undefined.