通过jQuery检查链接

时间:2011-03-02 16:42:53

标签: javascript jquery hyperlink

有一个链接块,

<div class="links">
<a href="http://google.com">
<a href="http://bing.com">
<a href="http://example.com/section2/">
</div>

它们都放在http://example.com/的html中。

如何查看每个,是否是指向当前打开网站的链接?

脚本应该对http://example.com/anything/else/in/the/url/和对所有其他网站都是false。

3 个答案:

答案 0 :(得分:2)

在GitHub上查看我的jQuery插件$ .urlParser:https://github.com/Dyvor/jquery/tree/master/plugins/urlParser

您可以尝试以下代码:

var current_host = $.urlParser(window.location.toString()).host;
$('div.links a').each(function() {
    if ( current_host == $.urlParser($(this).attr('href')).host ) {
        // the hosts matched ... place your code here
    }
});

答案 1 :(得分:1)

为您的DIV提供ID以使其更容易:

<div id="links">

然后这个脚本会做你想要的:

var links = document.getElementById('links').getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
  if (links[i].href.indexOf('http://mysite.com/') === 0) {
    // Yes, this link belongs to your site
    // do something
  } else {
    // do something else
  }
}

答案 2 :(得分:1)

这应该做到

$("a").each(function(){
  return $(this).attr("href").indexOf("http://mysite.com")==0;
});

另一种方式

$("a[href^='http://mysite.com/']")

只会为您提供所需的链接