jQuery从元素中删除特定文本

时间:2011-12-25 05:14:42

标签: jquery

我想从我网站上的元素中删除“By:”文本。我希望文本的其余部分保留在那里。我怎样才能用jQuery实现这一目标?谢谢。

HTML

<div id="text">By: Anonymous From Minnesota</div>

我希望它只是:

<div id="text">Anonymous From Minnesota</div>

4 个答案:

答案 0 :(得分:33)

如果你想在其中找到包含“By:”的每个元素并将其删除,你可以试试这个:

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

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

答案 1 :(得分:12)

使用正则表达式的更全面的解决方案。即使您的字符串结构发生变化,这也将取代By:

var str = $('div').text().replace(/By:/g, '');
$('div').text(str);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div id="text">By: Anonymous From Minnesota</div>

答案 2 :(得分:3)

var str = $("#text").text();
$("#text").text(str.substring(3));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div id="text">By: Anonymous From Minnesota</div>

使用javascript的substring并为您的div提供ID以便轻松访问它:

HTML:

<div id="text">By: Anonymous From Minnesota</div>

jquery的:

var str = $("#text").text();
$("#text").text(str.substring(3));

你也可以在一行中完成:

$("#text").text($("#text").text().substring(3));

答案 3 :(得分:1)

给div一个唯一的id,t:

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

小提琴:http://jsfiddle.net/ChUB4/