How to simulate anchor link click

RayLoveless picture RayLoveless · Dec 2, 2010 · Viewed 77k times · Source

I'm trying to trigger a link click for .jquery. Does someone know why the following doesn't work.

<!DOCTYPE  HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html lang="en"> 
  <head> 
    <title>test</title>
  </head>
  <body> 
    <div>
       <a id="google_link" href="http://google.com" target="_blank">click to go to google</a>
    </div>
    <div id="google_link_proxy">click here to do the same as the link above</div>

    <script type="text/javascript">      
     $("#google_link_proxy").click(function(event){
         $("#google_link").click();
     });
    </script>
  </body>
</html>

Answer

Roman Starkov picture Roman Starkov · Feb 13, 2014

The jQuery method completely ignores href:

$('#google_link').click(); // ignores href!

The native DOM method does the right thing:

$('#google_link')[0].click();

This works regardless of whether the href is a URL, a fragment (e.g. #blah) or even a javascript:.