jQuery从元素中删除特定文本

jQuery从元素中删除特定文本,jquery,Jquery,我想从我网站的一个元素中删除文本“By:”。我希望文本的其余部分留在那里。我如何使用jQuery实现这一点?多谢各位 HTML <div id="text">By: Anonymous From Minnesota</div> 作者:来自明尼苏达州的匿名者 我希望它只是: <div id="text">Anonymous From Minnesota</div> 来自明尼苏达州的匿名者 var str=$(“#text”).text();

我想从我网站的一个元素中删除文本“By:”。我希望文本的其余部分留在那里。我如何使用jQuery实现这一点?多谢各位

HTML

<div id="text">By: Anonymous From Minnesota</div>
作者:来自明尼苏达州的匿名者
我希望它只是:

<div id="text">Anonymous From Minnesota</div>
来自明尼苏达州的匿名者
var str=$(“#text”).text();
$(“#text”).text(str.substring(3))


By:Anonymous From Minnesota
如果您想找到其中包含“By:”的每个元素并将其删除,您可以尝试以下方法:

$(':contains("By:")').each(function(){
    $(this).html($(this).html().split("By:").join(""));
});

这将删除任何元素中出现的“By:”。如果您想针对特定类型的元素,只需更改
$(':contains(“By:”)
即可包含适合您的选择器。

使用正则表达式的更全局的解决方案。即使您的字符串结构将发生更改,这也将替换为:

var str=$('div').text().replace(/By:/g');
$('div')。文本(str)


作者:来自明尼苏达州的匿名者
给div一个唯一的id,t:

$('#div_id').html($('#div_id').html().substring(3));

fiddle:

从哪个元素的哪个属性中删除文本?喜欢文本输入字段的当前值?或者只是div或p元素中的任意文本?@themerlinproject添加了HTML@codercake仅仅是
div
p
中的文本,这似乎就是我要寻找的,然而,出于某种原因,一个逗号被随机添加:哈!我忘记将分隔符参数添加到join()。我已经用join(“”)更新了答案。基本上,它所做的是使用“By:”作为分隔符将字符串拆分成一个数组,然后将数组元素重新连接成一个字符串,而不使用任何分隔符。希望这有帮助:)如果您对basic.split().join()vs.replace(//g,“”)的性能感兴趣,您可能会发现这很有趣:不幸的是,当我将代码修改为:
$('table#ReviewBox tbody tr td table tbody tr td I:contains(“By:”).each(函数(){$(this.html($(this.html().split)('By:“).join(”);))它只删除了“By:”的第一个实例,有没有解决方法?如果你对源HTML有点不熟悉,那会有很大帮助。。。我假设选择器只匹配一个对象,或者在第一次替换后抛出错误。