Javascript: error 800a025e al usar el selector de rango

Estoy ejecutando estas filas simples de javascript en la última, es decir, 11, solo para seleccionar todo el contenido de un div

Aquí una captura de pantalla de la herramienta de desarrollo ie11

Como puede ver, IE me alteró diciendo: "no se puede completar la operación debido al error 800a025e".

No puedo entender la naturaleza, la fuente del problema, y ninguna otra pregunta de desbordamiento de pila que leí me da una respuesta clara.

Este es el código completo de mi extensión "personal" selectText jQuery

jQuery.fn.selectText = function(){
    var doc = document;
    var element = this[0];
    // console.log(this, element);
    if (typeof element == 'undefined') {
        return;
    }
    if (doc.body.createTextRange) {
        var range = document.body.createTextRange();
        range.moveToElementText(element);
        range.select();
    } else if (window.getSelection) {
        var selection = window.getSelection();        
        var range = document.createRange();
        range.selectNodeContents(element);
        selection.removeAllRanges();
        selection.addRange(range);
    }
};

Elemento en este caso es un

[Object HTMLTableElement]

Edición 1: con un pequeño mod:

var range = document.body.createTextRange();
var retval = range.moveToElementText(element);
console.log (retval);
range.select();

Puedo decir que tu retiro no está definido. Este código funciona en ff sin problemas, por lo que el selector de elementos está bien. La versión de jQuery es 1.11

Respuestas a la pregunta(3)

Su respuesta a la pregunta