Lance angulaire "Erreur: Argument invalide." Dans IE

J'ai une directive qui prend de texte de l'élément et les lieux wbr éléments après chaque 10ème caractère. Je l'utilise par exemple sur les cellules d'un tableau avec un long texte (par exemple, les Url), afin de ne pas s'étendre sur la table. Code de la directive:

myApp.directive('myWbr', function ($interpolate) {
    return {
        restrict: 'A',
        link: function (scope, element, attrs) {
            //get the interpolated text of HTML element
            var expression = $interpolate(element.text());

            //get new text, which has <wbr> element on every 10th position
            var addWbr = function (inputText) {
                var newText = '';
                for (var i = 0; i < inputText.length; i++) {
                    if ((i !== 0) && (i % 10 === 0)) newText += '<wbr>'; //no end tag
                    newText += inputText[i];
                }
                return newText;
            };

            scope.$watch(function (scope) {
                //replace element's content with the new one, which contains <wbr>s
                element.html(addWbr(expression(scope)));
            });
        }
    };
});

Fonctionne bien sauf dans IE (j'ai essayé IE8 et IE9), où il déclenche une erreur dans la console: Error: Invalid argument.

Ici est jsFiddleen cliquant sur le bouton, vous pouvez voir l'erreur dans la console.

Donc question évidente: pourquoi est là l'erreur, ce qui est la source de celui-ci, et pourquoi seulement dans IE?

(Question Bonus: comment puis-je faire IE outils de dev pour m'en dire plus sur l'erreur, comme la ligne de code source, parce qu'il m'a fallu un certain temps pour le localiser, Error: Invalid argument. ne dit pas grand chose sur l'origine.)

P. S.: je sais que IE ne sait pas le rmb, mais ce n'est pas la question.

Edit: dans mon application j'ai ré-écrit la directive de ne pas regarder sur le texte de l'élément et de le modifier, mais plutôt à passer de la saisie de texte via l'attribut, et fonctionne maintenant correctement dans tous les navigateurs. Mais je suis toujours curieux de savoir pourquoi la solution d'origine est en donnant que l'erreur dans IE, commençant ainsi la générosité.

source d'informationauteur przno