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')]));