JavaScript getting innerHtml for all text nodes in nested elements

159 views Asked by At

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.

0

There are 0 answers