我想从我网站上的元素中删除“By:”文本。我希望文本的其余部分保留在那里。我怎样才能用jQuery实现这一目标?谢谢。
HTML
<div id="text">By: Anonymous From Minnesota</div>
我希望它只是:
<div id="text">Anonymous From Minnesota</div>
答案 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)