任何人都可以帮助我使用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");
}
我该如何做到这一点?
答案 0 :(得分:3)
使用CSS3选择器尝试querySelectorAll()
:
document.querySelectorAll('a[href*="http://www.youtube.com/SPECIFICURL"]')
答案 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
然后遍历数组以检查您的特定链接。