web-dev-qa-db-fra.com

Comment utiliser la fonction jQuery trim ()

Comme discuté dans de nombreuses questions sur la pile - IE 8 n'acceptera pas .trim(), mais le framework jQuery s'en charge.

Je ne sais pas comment traduire ma fonction pour utiliser cette version de trim (je pensais que j'utilisais déjà jQuery), quelqu'un pourrait-il me conseiller? Voici mon code:

$('input').val(function(index, val){
    return val.replace('Please Select', '').trim();
});

Ceci est conçu pour remplacer la chaîne par rien.

J'ai essayé:

$('input').val(function(index, val){
    return val.replace('Please Select', '')$.trim();
});

mais ce n'était pas bon.

16
Gideon
$.trim(val.replace('Please Select', ''))

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

26
Tetaxa

IE8 n'a pas de méthode native trim, généralement, j'augmente simplement le prototype:

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

C'est l'expression rationnelle la plus courte pour couper une chaîne, mais je l'ai entendu dire que .replace(/^\s\s*/,'').replace(/\s*\s$/,'') est (marginalement) plus rapide ... le choix vous appartient

Si vous voulez vraiment utiliser jQuery pour cela, bien sûr, vous devrez faire de la chaîne cible le contexte de la méthode appelée ($.trim Appelle la méthode sur $ === la jQuery objet), faites donc de la chaîne un objet jQ:

$('  foo bar  ').trim();//returns "foo bar"
//compared to augmented prototype:
'   foo bar  '.trim();//returns "foo bar"

L'avantage d'un prototype augmenté est que vous n'avez pas la charge supplémentaire de créer un nouvel objet jQuery, alors que l'utilisation de l'approche prototype repose sur JS pour encapsuler la chaîne dans un objet String natif et appliquer la méthode à cela. Fondamentalement, c'est la même opération, mais elle devrait être un peu plus efficace, car jQuery effectue un tas de vérifications sur toute chaîne transmise au constructeur jQuery ($())

7
Elias Van Ootegem

Essaye ça:

$.trim(val.replace('Please Select', ''));

Voici l'entrée Trim () dans la documentation.

4
Rory McCrossan