使用JavaScript查找特定链接

时间:2014-03-05 16:58:14

标签: javascript url search

任何人都可以帮助我使用JavaScript函数来搜索源代码并将网站上的所有链接与我正在寻找的特定链接进行比较。

例如:我正在www.youtube.com执行JavaScript,我正在寻找一个特定的YouTube链接。

它可能看起来像这样(当然不起作用):

if(document.body.indexOf("http://www.youtube.com/SPECIFICURL")!== -1){
    console.log("Url found");
}else{
  console.log("Url not found");

}

我该如何做到这一点?

4 个答案:

答案 0 :(得分:3)

使用CSS3选择器尝试querySelectorAll()

document.querySelectorAll('a[href*="http://www.youtube.com/SPECIFICURL"]')

Fiddle

答案 1 :(得分:2)

使用Array.prototype.some查看document.links中至少有一个元素是否包含您要查找的href

var has_link = [].some.call(document.links, function(link) {
   return link.href === 'http://www.youtube.com/SPECIFICURL';
});

您可以使用MDN Array#some

中找到的补丁在旧浏览器中对其进行修补

答案 2 :(得分:1)

function find_link_by_href(address)
    links = document.getElementsByTagName("a");

    for(var i = 0; i < links.length; i++) { 
      if( links[i].href === address ) {
        console.log("Url found"); 
        return; 
     } 
 }

您可以这样称呼它:

find_link_by_href("http://www.youtube.com/SPECIFICURL");

答案 3 :(得分:1)

您可以使用document.links获取锚点,然后循环抓取href,如下所示:

    var arr = [], l = document.links;
    for(var i=0; i<l.length; i++) {
      arr.push(l[i].href);
    }

//arr is now an array of all the href attributes from the anchors in the page

See here.

然后遍历数组以检查您的特定链接。