Javascript:如何从div或字符串中删除最后一个字符?

xa.*_*xa. 28 javascript jquery backspace

我有一个包含一串内容的div.内容不存储在变量中,我想删除此div中文本的最后一个字符.有什么帮助吗?

更多信息:


我有一个文本字段,在文本字段中输入文本后,文本以大写字母显示在div中.当用户点击后退空格键时,我希望删除div中的最后一个字符.我主要使用jQuery来实现这一点.这是我的代码:

$(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
        }
    }

});
Run Code Online (Sandbox Code Playgroud)

我试过了 $('#mainn').text.slice(0,-1);

我也尝试将#theInput的值存储在一个变量中,然后打印它,但这不起作用.有任何想法吗 ?

Moh*_*dil 60

$('#mainn').text(function (_,txt) {
    return txt.slice(0, -1);
});
Run Code Online (Sandbox Code Playgroud)

演示--> http://jsfiddle.net/d72ML/8/

  • 不要不必要地调用`text()`两次:`$('#mainn').text(function(i,t){return t.slice(-1);});` (7认同)
  • 我已经弄明白了这个问题.出于某种原因,从文本框中执行时,BACKSPACE键代码不会注册.你建议的代码完美无缺,只是我前面的代码不起作用.感谢:D (2认同)

lin*_*ntu 6

你确定要删除最后一个字符吗?如果用户从单词的中间按退格键怎么办...更好的是从字段中获取值并替换divs html.关键字

$("#div").html($("#input").val());
Run Code Online (Sandbox Code Playgroud)