我的网站上有几个超链接。我想要的是如果它们与给定条件匹配,则删除 a href html 标记。
例子
如果 href 是 example.com 那么,超链接应该被解散并且<a></a>
标签应该消失
我一直在使用以下语句,
$("a[href='http://www.example.com']").removeAttr("href");
href 将被删除,但<a>
仍然存在。
我的网站上有几个超链接。我想要的是如果它们与给定条件匹配,则删除 a href html 标记。
例子
如果 href 是 example.com 那么,超链接应该被解散并且<a></a>
标签应该消失
我一直在使用以下语句,
$("a[href='http://www.example.com']").removeAttr("href");
href 将被删除,但<a>
仍然存在。
您可以使用.remove删除整个元素。
$("a[href='http://www.example.com']").remove();
要保留链接的文本,但删除链接本身:
$("a[href='http://www.example.com']").replaceWith(function() {
return $(this).text();
});
.html()
如果您希望保留链接中的其他 HTML 标记,请改用。
要删除锚元素,请尝试以下操作:
$("a[href='http://www.example.com']").remove();
有关更多信息,请参阅.remove()
doco。
编辑:要将锚元素替换为其内容,请尝试以下操作:
$("a[href='http://www.example.com']").replaceWith(function() {
return $(this).html();
});
该.replaceWith()
方法可以满足您的期望。如果您向它传递一个函数,那么将为每个匹配元素调用该函数,this
并将当前元素替换为函数的返回值。
$("a[href='http://www.example.com']").remove();
$("a[href='http://www.example.com']").unwrap(); -> also check this :D
代码
$('a').each(function() {
var foo = $(this).attr("href");
if (foo == "http://www.example.com") {
$(this).remove();
}
});
您可以使用以下命令删除整个标签:
$("a[href='http://www.example.com']").find().remove();