Приведу реализацию "getText" из ангуляра:
text: (function() {
    var NODE_TYPE_TEXT_PROPERTY = [];
    if (msie < 9) {
        NODE_TYPE_TEXT_PROPERTY[1] = 'innerText';     /** Element **/
        NODE_TYPE_TEXT_PROPERTY[3] = 'nodeValue';    /** Text **/
    } else {
        NODE_TYPE_TEXT_PROPERTY[1] =                      /** Element **/
        NODE_TYPE_TEXT_PROPERTY[3] = 'textContent';  /** Text **/
    }
    getText.$dv = '';
    return getText;
    function getText(element, value) {
        var textProp = NODE_TYPE_TEXT_PROPERTY[element.nodeType];
        if (isUndefined(value)) {
            return textProp ? element[textProp] : '';
        }
        element[textProp] = value;
    }
})()
Иными словами, если IE<9 не нужен, достаточно
element.textContent
согласно реализации выше