web-dev-qa-db-fra.com

Javascript: Comment supprimer le dernier caractère d'une div ou d'une chaîne?

J'ai un div avec une chaîne de contenu. Le contenu n'est pas stocké dans une variable et je voudrais supprimer le dernier caractère du texte de cette div. Avez-vous besoin d'aide?

Plus d'informations:


J'ai un champ de texte et lors de la saisie de texte dans le champ de texte, le texte apparaît dans une div en gros caractères. Lorsque l'utilisateur frappe la touche de retour en arrière, je veux que le dernier caractère de la div soit supprimé. J'utilise principalement jQuery pour y parvenir. Voici mon code:

$(document).ready(function(){
    $("#theInput").focus();   //theInput is the text field

    $('#theInput').on('keypress', printKeyPress);

    function printKeyPress(event)
    {
        //#mainn is the div to  hold the text
        $('#mainn').append(String.fromCharCode(event.keyCode));
        if(event.keyCode ==8)   //if backspace key, do below
        {
            $('#mainn').empty();  //my issue is located here...I think
        }
    }

});

J'ai tenté $('#mainn').text.slice(0,-1);

J'ai également essayé de stocker la valeur de #theInput dans une variable, puis de l'imprimer, mais cela n'a pas fonctionné. Des idées ?

27
xa.
$('#mainn').text(function (_,txt) {
    return txt.slice(0, -1);
});

démo -->http://jsfiddle.net/d72ML/8/

59
Mohammad Adil

Êtes-vous sûr de vouloir supprimer uniquement le dernier caractère. Que se passe-t-il si l'utilisateur appuie sur retour arrière à partir du milieu du mot .. Il vaut mieux obtenir la valeur du champ et remplacer le divs html. Sur keyup

$("#div").html($("#input").val());
6
lintu
var string = "Hello";
var str = string.substring(0, string.length-1);
alert(str);

http://jsfiddle.net/d72ML/

3
Darren