我有一个这样的字符串:
I like this video: <a href="http://www.youtube.com/watch?v=o03pXLuPl6A&hd=1">http://www.youtube.com/watch?v=o03pXLuPl6A&hd=1</a>
我想用 jQuery 删除与 YouTube 视频相关的文本和链接,所以它看起来像这样:
I like this video:
我怎样才能做到这一点?请记住,同一字符串中可能有多个链接需要删除。谢谢!
我有一个这样的字符串:
I like this video: <a href="http://www.youtube.com/watch?v=o03pXLuPl6A&hd=1">http://www.youtube.com/watch?v=o03pXLuPl6A&hd=1</a>
我想用 jQuery 删除与 YouTube 视频相关的文本和链接,所以它看起来像这样:
I like this video:
我怎样才能做到这一点?请记住,同一字符串中可能有多个链接需要删除。谢谢!
$('a').each(function(){
if(this.href.match(/youtube\.com/)) $(this).remove();
});
这将删除包含字符串“youtube.com”或“youtu.be”作为其 href 一部分的锚元素:
$('a').filter(function(){ return /youtube\.com|youtu\.be/.test(this.href); }).remove();
...除了它将它们从文档中删除并且您说您在字符串中包含该文本,因此您可以按以下方式构建该计划:
var bodyText = 'I like this video: <a href="http://www.youtube.com/watch?v=o03pXLuPl6A&hd=1">http://www.youtube.com/watch?v=o03pXLuPl6A&hd=1</a>';
var tmp = $("<div></div>").html(bodyText);
tmp.find('a').filter(function(){ return /youtube\.com|youtu\.be/.test(this.href); })
.remove();
bodyText = tmp.html();
也就是说,创建一个 jQuery 对象,其中包含一个以您的字符串作为其内容的新 div,然后应用过滤器并删除锚点,然后将剩余内容分配回您的字符串变量。