我正在尝试从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 :(得分:144)
非常确定你只想要普通的旧替换功能。像这样使用:
myString.replace('username1','');
我想如果你想删除尾随的逗号,请改为:
myString.replace('username1,','');
编辑:
这是您的网站特定代码:
jQuery("#post_like_list-510").text().replace(...)
答案 1 :(得分:15)
要添加nathan gonzalez答案,请注意您需要在调用replace
函数后分配替换对象,因为它不是mutator函数:
myString = myString.replace('username1','');
答案 2 :(得分:9)
如果您只想删除“username1”,可以使用简单的替换。
name.replace("username1,", "")
或者你可以像你提到的那样使用拆分。
var name = "username1, username2 and username3 like this post.".split(",")[1];
$("h1").text(name);
jsfiddle示例
答案 3 :(得分:1)
我认为文本“username1”只是最终将成为实际用户名的占位符。假设,
span
标签服务器端之前可能会更容易,然后再将其发送到客户端,然后只需使用span标签。答案 4 :(得分:1)
相当确定没有人按照您的确切条款回答您的问题,您希望将其用于动态文字
var newString = myString.substring( str.indexOf( "," ) +1, myString.length );
它需要从第一个逗号到结尾的子字符串