将外部类添加到不在域或子域上的链接

时间:2013-02-20 12:03:18

标签: jquery

我想将一个外部类添加到不在我们域中的链接...很容易找到解决方案,但它不会捕获子域。

那么,如果href hostlocation不包含'hw.ac.uk',我怎样才能在标签上使用addClass(“external”)?

以下是受欢迎的,但不会捕获子域(我们的可以是一个或两个深层,例如子域。,www.subdomain等。)

$("a").filter(function() {
return this.hostname && this.hostname !== location.hostname;
}).addClass('external');

我想我希望与add class to all links that link to a certain domain with js (jquery)

相反

由于

尼尔

1 个答案:

答案 0 :(得分:-1)

// Creating custom :external selector
$.expr[':'].external = function(obj){
    return !obj.href.match(/^mailto\:/)
            && (obj.hostname != location.hostname);
};

// Add 'external' CSS class to all external links
$('a:external').addClass('external');

修改 没有抓住子域问题。上面的代码只关注顶级域名