Use JavaScript to find a specific link

前端 未结 4 651
清歌不尽
清歌不尽 2021-01-20 03:54

Could anyone help me with a function for JavaScript which searches the source code and compares all of the links on the site with the specific link I am looking for.

相关标签:
4条回答
  • 2021-01-20 04:19
    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; 
         } 
     }
    

    You can call it like this:

    find_link_by_href("http://www.youtube.com/SPECIFICURL");
    
    0 讨论(0)
  • 2021-01-20 04:33

    Use Array.prototype.some to see if at least one element in document.links has the href you're looking for.

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

    You can patch it in old browsers using the patch found at MDN Array#some

    0 讨论(0)
  • 2021-01-20 04:34

    You can use document.links to get the anchors, then just loop through grabbing the href, like this:

        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.

    Then loop through the array to check for your specific link.

    0 讨论(0)
  • 2021-01-20 04:36

    Try querySelectorAll() with CSS3 selectors:

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

    Fiddle

    This selector says find all links with an href attribute that contains a specific string. Lets break this down a little bit:

    • a - this is the element type, e.g. "link"
    • href - this is the element attribute
    • *= - this essentially means contains. There are different type of equality checks that can be used: starts with, contains word, ends with, etc. The jQuery selectors documentation is quite good.
    • "..." - everything in quotes after the equal sign is the substring the query is looking for.
    0 讨论(0)
提交回复
热议问题