How do I programmatically click a link with javascript?

JavascriptHyperlinkClickAnchor

Javascript Problem Overview


Is there a way to click on a link on my page using JavaScript?

Javascript Solutions


Solution 1 - Javascript

document.getElementById('yourLinkID').click();

Solution 2 - Javascript

This function works in at least Firefox, and Internet Explorer. It runs any event handlers attached to the link and loads the linked page if the event handlers don't cancel the default action.

function clickLink(link) {
    var cancelled = false;

    if (document.createEvent) {
        var event = document.createEvent("MouseEvents");
        event.initMouseEvent("click", true, true, window,
            0, 0, 0, 0, 0,
            false, false, false, false,
            0, null);
        cancelled = !link.dispatchEvent(event);
    }
    else if (link.fireEvent) {
        cancelled = !link.fireEvent("onclick");
    }

    if (!cancelled) {
        window.location = link.href;
    }
}

Solution 3 - Javascript

If you only want to change the current page address, you can do that by simply doing this in Javascript :

location.href = "http://www.example.com/test";

Solution 4 - Javascript

Simply like that :

<a id="myLink" onclick="alert('link click');">LINK 1</a>
<a id="myLink2" onclick="document.getElementById('myLink').click()">Click link 1</a>

or at page load :

<body onload="document.getElementById('myLink').click()">
...
<a id="myLink" onclick="alert('link click');">LINK 1</a>
...
</body>

Solution 5 - Javascript

The jQuery way to click a link is

$('#LinkID').click();

For mailTo link, you have to write the following code

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

Solution 6 - Javascript

For me, I managed to make it work that way. I deployed the automatic click in 5000 milliseconds and then closed the loop after 1000 milliseconds. Then there was only 1 automatic click.

<script> var myVar = setInterval(function ({document.getElementById("test").click();}, 500)); setInterval(function () {clearInterval(myVar)}, 1000));</script>

Solution 7 - Javascript

Many of the above methods have been deprecated. It is now recommended to use the constructor found here

function clickAnchorTag() {
    var event = document.createEvent('MouseEvent');
    event = new CustomEvent('click');
    var a = document.getElementById('nameOfID');
    a.dispatchEvent(event);
}

This will cause the anchor tag to be clicked, but it wont show if pop-up blockers are active so the user will need to allow pop-ups.

Solution 8 - Javascript

Instead of clicking, can you forward to the URL that the click would go to using Javascript?

Maybe you could put something in the body onLoad to go where you want.

Solution 9 - Javascript

You could just redirect them to another page. Actually making it literally click a link and travel to it seems unnessacary, but I don't know the whole story.

Solution 10 - Javascript

for those wanting to click all links that have a particular text content, this would work:

for (const a of document.querySelectorAll("a")) {
  if (a.textContent.includes("<your text to be searched here>")) {
    a.click();
  }
}

reference: https://stackoverflow.com/a/42907920/2361131

Solution 11 - Javascript

Client Side JS function to automatically click a link when...

Here is an example where you check the value of a hidden form input, which holds an error passed down from the server.. your client side JS then checks the value of it and populates an error in another location that you specify..in this case a pop-up login modal.

var signUperror = document.getElementById('handleError')

if (signUperror) {
  if(signUperror.innerHTML != ""){
  var clicker = function(){
    document.getElementById('signup').click()
  }
  clicker()
  }
}

Solution 12 - Javascript

You can't make the user's mouse do anything. But you have full control over what happens when an event triggers.

What you can do is do a click on body load. W3Schools has an example here.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJason KolokView Question on Stackoverflow
Solution 1 - JavascriptarikView Answer on Stackoverflow
Solution 2 - JavascriptMatthew CrumleyView Answer on Stackoverflow
Solution 3 - JavascriptFabien MénagerView Answer on Stackoverflow
Solution 4 - JavascriptCanavarView Answer on Stackoverflow
Solution 5 - JavascriptMuhammad Waqas IqbalView Answer on Stackoverflow
Solution 6 - JavascriptNaiguel DeveloperView Answer on Stackoverflow
Solution 7 - JavascriptmausView Answer on Stackoverflow
Solution 8 - JavascriptJas PanesarView Answer on Stackoverflow
Solution 9 - JavascriptakwayView Answer on Stackoverflow
Solution 10 - JavascriptgawkfaceView Answer on Stackoverflow
Solution 11 - JavascriptVonteiView Answer on Stackoverflow
Solution 12 - JavascriptÓlafur WaageView Answer on Stackoverflow