我有一个这样的字符串:
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:
我该怎么做?请记住,同一个字符串中可能存在需要删除的多个链接。谢谢!
答案 0 :(得分:7)
$('a').each(function(){
if(this.href.match(/youtube\.com/)) $(this).remove();
});
答案 1 :(得分:0)
这将删除包含字符串“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,然后应用过滤器并删除锚点,然后将剩余的内容分配回字符串变量。< / p>