使用Javascript删除字符串的最后一个字符

Mik*_*kel 18 javascript string jquery

我有DIV一些角色.如何在每次单击时从文本中删除最后一个字符DIV

Sam*_*son 26

删除第一个字符

?$("div").on("click", function(){
    $(this).text(function(index, text){
        return text.replace(/^.(\s+)?/, '');
    });
});????????????
Run Code Online (Sandbox Code Playgroud)

删除最后一个字符

$("div").on("click", function(){
    $(this).text(function(index, text){
        return text.replace(/(\s+)?.$/, '');
    });
});
Run Code Online (Sandbox Code Playgroud)

删除特定字符

$("div").on("click", function(){
    $(this).text(function(index, text){
        return text.replace(/r/gi, '');
    });
});
Run Code Online (Sandbox Code Playgroud)

在以下网址查看每个在线示例:http://jsfiddle.net/Xcn6s/

  • 从什么时候开始jQuery才有资格获得事实上的JavaScript? (5认同)
  • 不要从`text`写`html`,你会错误处理`<`和`&`字符导致潜在的XSS.另外,当文本中的最后一个字符是`\n`时失败,因为`.`与换行符不匹配. (3认同)
  • asnyder:问题上有一个jQuery标签,大概是提问者放在那里. (3认同)

Tim*_*own 23

假设你有一个div的引用,它只包含一个文本节点(正如你的问题所暗示的),这很简单.这是一个非jQuery解决方案:

div.onclick = function() {
    var textNode = this.firstChild;
    textNode.data = textNode.data.slice(0, -1);
};
Run Code Online (Sandbox Code Playgroud)