JSFiddle - React, Tailwind, and code Playground
HTML
<div id="t1">
<div>nested content</div>
direct content
<span>a span</span>
</div>
JavaScript
var getText = function( elems ) {
var ret = "", elem;
for ( var i = 0; elems[i]; i++ ) {
elem = elems[i];
// Get the text from text nodes and CDATA nodes
if ( elem.nodeType === 3 || elem.nodeType === 4 ) {
ret += elem.nodeValue;
// Traverse everything else, except comment nodes
} else if ( elem.nodeType !== 8 ) {
ret += getText( elem.childNodes );
}
}
return ret;
};
alert(getText([document.getElementById('t1')]));