我正在添加具有过滤功能的第三方链接的背景图片,如下所示
$("a").filter(function () {
var ignoreLink =
this.hostname == location.hostname // disregard same domain
|| this.href.match(/^(mailto|tel|javascript)\:/)
return !ignoreLink;
}).addClass("externalanchor").attr("target", "_blank");
上面的代码工作正常现在我有一个要求说一些链接应该是内部ex:
<p><a href="https://www.google.com/" target="_blank">Email URL</a></p>
<p><a href="https://github.com/" target="_blank">Google</a></p>
<p><a href="https://www.w3schools.com" target="_blank">Google</a></p>
<p><a href="https://www.codecademy.com" target="_blank">Google</a></p>
我的问题是如何为这个链接添加一个类,只用jquery进行dom更改。
答案 0 :(得分:1)
您可以使用attribute contains selector
$("a[href*='google.com'], a[href*='w3schools.com'], a[href*='codeacademy.com']").addClass('no-external');
答案 1 :(得分:0)
这样的事情对你有用吗?:
https://jsfiddle.net/khkmmjjn/1/
代码:
$("a").each(function(){
if( $(this).attr("href").indexOf("https://jsfiddle.net") == 0 ||
$(this).attr("href").indexOf("jsfiddle.net") == 0 )
{
$(this).addClass("local");
}
else if( $(this).attr("href").indexOf("mailto:") == 0 ||
$(this).attr("href").indexOf("tel:") == 0 )
{
$(this).addClass("other");
}
else
{
$(this).addClass("external");
}
});