jQuery从字符串中移除字符串

问题描述:

我想从jQuery中的字符串中移除一个字符串。jQuery从字符串中移除字符串

这里是字符串:

username1, username2 and username3 like this post. 

我想从列表中删除username1,。 我尝试使用.split(', ')将列表添加到数组中,但出现错误。我假设这个错误是因为不是每个单词后都有逗号。

我一直想从列表中删除第一项。 username1只是一个示例用户名。如果他们喜欢这篇文章,第一项将始终是当前登录用户的用户名。

我曾尝试:

var updated_list = $('#post_like_list').html().replace('username1, ', ''); 
    $('#post_like_list').html(updated_list); 

但是这并没有更新列表。但是,当使用.text()而不是.html()时,它会更新列表,但我需要保留列表中的链接。

+0

这个字符串是以JS中的数组开始还是什么?基于这个问题的答案可能是:.replace('username1,',''),但我怀疑这是你的后... – Rob 2011-02-23 18:10:32

+0

请在您的问题中发布相关的代码。如果您遇到错误,请提供您使用的代码,以便发现错误。 – user113716 2011-02-23 18:12:30

+0

你必须澄清:'username1'总是一样吗?你总是想删除* first *的名字,或者你想删除一个特定的名字吗?这不是一个jQuery问题,它是一个JavaScript问题。 – 2011-02-23 18:17:44

很确定你只是想要简单的旧的替换功能。使用这样的:

myString.replace('username1',''); 

我想,如果你想删除后面的逗号做到这一点,而不是:

myString.replace('username1,',''); 

编辑:

这里是该网站的具体代码:

jQuery("#post_like_list-510").text().replace(...) 
+1

我试过了,得到了错误(firebug)jQuery(“#post_like_list-510”)。replace不是函数 – 2011-02-23 18:09:55

+1

@carl,这是因为myString变量只是一个字符串,而不是一个jquery对象。 jQuery('#post_like_list-510')。text()。replace(...) – 2011-02-23 18:11:07

+0

你可能想要jQuery('#post_like_list-510').val()。replace(...) – matei 2011-02-23 18:11:43

如果你只是想删除“username1”,你可以使用一个简单的替换。

name.replace("username1,", "")

或像你提到你可以使用分裂。

var name = "username1, username2 and username3 like this post.".split(",")[1];  
$("h1").text(name); 

jsfiddle例如

我认为文本“USERNAME1”只是什么最终将成为一个实际用户名的占位符。假设,

  • 如果用户名是不允许有空格,则只需搜索一切第一空格或逗号(之前从而找到既“U1喜欢这个”,“U1,U2和U3一样这个”)。
  • 如果它被允许有一个空间,那么在将它发送到客户端之前,然后只使用span标记,将每个用户名包装在它自己的span标记服务器端可能会更容易。

要在纳丹·冈萨雷斯答案补充,请注意,您需要调用replace功能之后的更换对象分配,因为它不是一个赋值函数功能:

myString = myString.replace('username1',''); 

相当肯定没有人回答你的问题,以你的确切来说,你想为动态文本

var newString = myString.substring(str.indexOf(",") +1, myString.length); 

它从第一个逗号一子,到最后

+1

工程很好!我只是用'myString'取代'str'来提供工作解决方案。 – Jonny 2016-10-01 12:01:31