首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Javascript删除字符串的最后一个字符

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

Stack Overflow用户
提问于 2010-01-02 09:23:28
回答 7查看 41.7K关注 0票数 18

我有一个带有一些字符的DIV。如何在每次单击DIV时从文本中删除最后一个字符?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-01-02 09:25:48

删除第一个字符

代码语言:javascript
复制
​$("div").on("click", function(){
    $(this).text(function(index, text){
        return text.replace(/^.(\s+)?/, '');
    });
});​​​​​​​​​​​​

删除最后一个字符

代码语言:javascript
复制
$("div").on("click", function(){
    $(this).text(function(index, text){
        return text.replace(/(\s+)?.$/, '');
    });
});

删除特定字符

代码语言:javascript
复制
$("div").on("click", function(){
    $(this).text(function(index, text){
        return text.replace(/r/gi, '');
    });
});

请在线查看每种方法的示例:http://jsfiddle.net/Xcn6s/

票数 27
EN

Stack Overflow用户

发布于 2010-01-02 20:25:47

假设您有一个对div的引用,并且它只包含一个文本节点(正如您的问题所暗示的),这非常简单。下面是一个非jQuery的解决方案:

代码语言:javascript
复制
div.onclick = function() {
    var textNode = this.firstChild;
    textNode.data = textNode.data.slice(0, -1);
};
票数 24
EN

Stack Overflow用户

发布于 2010-01-02 09:30:12

除了Jonathan的答案,如何删除第一个字符:

代码语言:javascript
复制
$("div.myDiv").click(function(){
    $(this).html($(this).text().substring(1));
});

或者,删除最后一个字符:

代码语言:javascript
复制
$("div.myDiv").click(function(){
    $(this).html($(this).text().replace(/.$/g, ''));
});

或者,疯狂地从随机位置删除一个字符:

代码语言:javascript
复制
$("div.myDiv").click(function(){
    var text = $(this).text();
    var index = Math.round(Math.random() * (text.length - 1));
    var result = text.substring(0, index) + text.substring(index + 1, text.length - 1);
    $(this).html(result);
});

您可以使用上面的函数和预定义的索引从特定位置删除,而不是随机放置。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1990265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档