52 votes

jQuery Objet ne prend pas en charge la propriété ou de la méthode trim() dans IE

Quoi de neuf avec le jQuery méthode trim??

jQuery('#Reminders').attr('value').trim()

L'objet ne prend pas en charge la propriété ou de la méthode "trim"

jQuery('#Reminders').attr('value')

"5,1,1"

$('#Reminders').attr('value').split(',')

[5,1,1]
[0]: "5"
[1]: "1"
[2]: "1"

Je n'ai pas ces malheurs dans FireFox ou Chrome ... seulement IE 9.0. Est-il quelque chose de spécial à propos de trim() ... je n'ai pas eu le mémo .

91voto

SLaks Points 391154

IE n'a pas un string.trim() méthode.

Au lieu de cela, vous pouvez appeler jQuery $.trim(str).

10voto

Vous pouvez ajouter de la garniture() la méthode sur un objet de type String, pour les navigateurs sans soutien pour cette méthode (c'est à dire à l'identique).

Simplement ajouter ces lignes avant d'appeler le trim() méthode:

String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, '');
}

6voto

artlung Points 13433

trim() n'est pas appelé comme ça dans un jQuery contexte.

Une fois que vous vous appelez attr(), c'est la fin de jQuery chaînage. Voir http://api.jquery.com/attr/

Pour ce faire, faites:

jQuery.trim(jQuery('#Reminders').attr('value'));

Voir: http://api.jquery.com/jQuery.trim/

4voto

Mauro Ciancio Points 100

Même problème ici avec IE n'ayant pas l' trim() méthode. J'ai résolu en ajoutant l' trim() si elle n'existe pas.

(function(str) {
    if (typeof(str.prototype.trim) === 'undefined') {
        str.prototype.trim = function() {
            return $.trim(this);
        };
    }
})(String);

Fonctionne très bien.

0voto

aquinas Points 10517

Cela n'a rien à voir avec jquery. L'attribut est de retourner une chaîne de caractères. Ce que cela signifie, c'est que IE n'est pas une méthode trim sur la chaîne.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X