开发者

Find Links in HTML Document using Javascript/jQuery

开发者 https://www.devze.com 2023-01-10 20:27 出处:网络
This is a challenge for开发者_如何学运维 any Javascript/jQuery ninjas out there: What is the best way (using aforementioned languages), to find all of the links in an HTML document and return them al

This is a challenge for开发者_如何学运维 any Javascript/jQuery ninjas out there:

What is the best way (using aforementioned languages), to find all of the links in an HTML document and return them all?

In other words, a function that like this - findLinks(document.html.innerHTML) that would return all links found in that HTML.

Thanks,

DLiKS


Well, you could fiddle around with a chunky library (and it might be a good idea to do that if you end up wanting to do interesting things to manipulate the results), but just to get the links I think I'd stick to DOM 0:

document.links


To get all hrefs from existing anchor elements, you can do the following, which will return them as an array:

var links = $("a").map(function() {
                return this.href;
            }).get();

If you just want to grab each anchor element and do something with them thereafter, you would just need to select them:

$("a").hide(); // or whatever


I have a bookmarklet that finds all the hyperlinks and writes them to an HTML page:

javascript:ctDL=document.links;ctWI=open('','','width=400,height=300,scrollbars,resizable,menubar');ctDO=ctWI.document;ctDO.writeln('');for(ctI=0;%20ctI')}void(ctDO.close())


It's either I don't understand the question, or it's not really that much of a challenge:

function findLinks(innerHTML){
    var fragment = document.createElement('div');
    fragment.innerHTML = innerHTML;

    var links = [];
    fragment.find('a').each(function(index, element){
        links.push($(element).attr('href'));
    });
    return links;
}
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号