我想从我的网站中的某个元素中删除文本“By:”。我希望剩下的文字留在那里。我怎样才能实现这一点与jQuery?谢谢。jQuery从元素中删除特定文本
的HTML
<div id="text">By: Anonymous From Minnesota</div>
我希望它只是:
<div id="text">Anonymous From Minnesota</div>
我想从我的网站中的某个元素中删除文本“By:”。我希望剩下的文字留在那里。我怎样才能实现这一点与jQuery?谢谢。jQuery从元素中删除特定文本
的HTML
<div id="text">By: Anonymous From Minnesota</div>
我希望它只是:
<div id="text">Anonymous From Minnesota</div>
如果你想找到的每一个元素 “到:” 在它并删除它,你可以试试这个:
$(':contains("By:")').each(function(){
$(this).html($(this).html().split("By:").join(""));
});
这可以消除任何元素中“By:”的出现。如果您想要定位特定类型的元素,只需更改$(':contains("By:")')
以包含适合您的任何选择器。
这看起来像我在找的东西,但是,由于某种原因,随机添加了一个逗号:http:// jsfiddle。 net/xSphc/ – henryaaron 2011-12-25 05:37:10
哈!我忘了添加分隔符参数join()。我用join(“”)更新了答案。基本上它正在做的是用“By:”作为分隔符将字符串拆分成一个数组,然后将数组元素连接回到一个没有任何分隔符的字符串中。希望可以帮助:) – 2011-12-25 05:42:08
如果你对基本的.split()。join()诗句.replace(// g,“”)的表现感兴趣,你可能会觉得这很有趣:http://jsperf.com/split-join-vs-regex-replace – 2011-12-25 05:50:31
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));
使用正则表达式的更全面的解决方案。这将取代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>
给出一个唯一的ID的div T:
$('#div_id').html($('#div_id').html().substring(3));
请张贴从什么元素的属性,什么你的HTML – themerlinproject 2011-12-25 05:17:05
删除文本?像...文本输入字段的当前值?或者只是在div或p元素中的任意文本? – codercake 2011-12-25 05:19:55
@themerlinproject @themerlinproject添加了HTML – henryaaron 2011-12-25 05:20:17