Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
623 views
in Technique[技术] by (71.8m points)

jquery - How do I select all anchors with a specific href?

I've got the following code to track pageviews for external links matching a particular URL.

    $("a").each(function(i){
        if (
            $(this).attr('href') == "http://example.com/external/link/" || 
            $(this).attr('href') == "http://example.com/external/link"
        ) {
            $(this).click(function(){
                _gaq.push(['_trackPageview', '/external/pagename']);
            });
        }
    });

This code works, but it's extremely inefficient for pages with a lot of links. Is there a way to use a selector to select all the anchors with matching hrefs instead of scanning through all the links on the page?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can use the Attribute Starts With Selector

$('a[href^="http://example.com/external/link"]').click(function() {
      _gaq.push(['_trackPageview', '/external/pagename']);
});

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...