194 votes

Comment supprimer le dernier caractère d'une chaîne de caractères à l'aide de jQuery ?

Comment supprimer le dernier caractère d'une chaîne de caractères, par exemple en 123-4- quand je supprime 4 il devrait afficher 123- en utilisant jQuery .

34 votes

Vous supprimez les deux derniers caractères alors.

497voto

skajfes Points 2770

Vous pouvez également essayer ceci en javascript simple

"1234".slice(0,-1)

le deuxième paramètre négatif est un décalage par rapport au dernier caractère, vous pouvez donc utiliser -2 pour supprimer les deux derniers caractères, etc.

17 votes

Nous utilisons (du moins moi) tellement jQuery de nos jours, que parfois j'oublie comment faire en simple javascript =X

4 votes

Pour clarifier les choses (car ce post pourrait être utile surtout pour les débutants) : .slice() retournera le résultat. Il faut donc utiliser : var result = "1234".slice(0,-1) ;

42voto

Jason Benson Points 1906

Pourquoi utiliser jQuery pour cela ?

str = "123-4"; 
alert(str.substring(0,str.length - 1));

Bien sûr, si vous le devez :

Substr w/ jQuery :

//example test element
 $(document.createElement('div'))
    .addClass('test')
    .text('123-4')
    .appendTo('body');

//using substring with the jQuery function html
alert($('.test').html().substring(0,$('.test').html().length - 1));

0 votes

Str.substring(0, str.count()-1)

2 votes

@GolezTrol : str.count() n'est pas une fonction. str.length retourne le nombre de caractères dans la chaîne.

0 votes

@ skajfes BTW c'est un meilleur exemple je vais modifier le mien ci-dessus pour utiliser la longueur

9voto

OV Web Solutions Points 635

@skajfes et @GolezTrol ont fourni les meilleures méthodes à utiliser. Personnellement, je préfère utiliser "slice()". C'est moins de code, et vous n'avez pas besoin de connaître la longueur d'une chaîne. Il suffit d'utiliser :

//-----------------------------------------
// @param begin  Required. The index where 
//               to begin the extraction. 
//               1st character is at index 0
//
// @param end    Optional. Where to end the
//               extraction. If omitted, 
//               slice() selects all 
//               characters from the begin 
//               position to the end of 
//               the string.
var str = '123-4';
alert(str.slice(0, -1));

0 votes

Je préfère moi-même la sous-chaîne. Slice est pour moi beaucoup trop proche de array slice.

5voto

elusive Points 14184

Vous pouvez le faire avec du simple JavaScript :

alert('123-4-'.substr(0, 4)); // outputs "123-"

Ceci renvoie les quatre premiers caractères de votre chaîne de caractères (ajuster 4 pour répondre à vos besoins).

3 votes

La solution slice(0, -1) est meilleure car vous n'avez pas besoin de connaître la longueur de la chaîne à l'avance.

0voto

Stavros Points 83

Cette page apparaît en premier lorsque vous recherchez sur Google "supprimer le dernier caractère jquery".

Bien que toutes les réponses précédentes soient correctes, elles ne m'ont pas aidé à trouver ce que je voulais d'une manière rapide et facile.

Je sens qu'il manque quelque chose. Je m'excuse si je fais double emploi

jQuery

$('selector').each(function(){ 
  var text = $(this).html();
  text = text.substring(0, text.length-1);
  $(this).html(text);
});

o

$('selector').each(function(){ 
  var text = $(this).html();
  text = text.slice(0,-1);
  $(this).html(text);
})

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