59 votes

Utiliser jQuery pour cliquer sur un <a>lien par programmation</a>

Je sais que cette question a déjà été posée, mais après une recherche sur le Web, je n'arrive pas à trouver de réponse simple.

le HTML

 <a id=myAnchor href=index.php>

le jQuery (les deux ne fonctionnent pas)

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

ou

 $('#myAnchor').trigger('click');

Quelle est la manière la plus simple et la plus efficace d'y parvenir ?

103voto

user3346133 Points 68

Essaye ça:

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

Ça marche pour moi.

34voto

squint Points 28293
window.location = document.getElementById('myAnchor').href

25voto

bang Points 1835

Click déclenche simplement l'événement / les événements de clic et non l'action "goto-the-links-href".

Vous devez écrire votre propre gestionnaire puis votre $('#myAnchor').trigger('click'); marchera...

 $("#myAnchor").click(function(event)
{
  var link = $(this);
  var target = link.attr("target");

  if($.trim(target).length > 0)
  {
    window.open(link.attr("href"), target);
  }
  else
  {
     window.location = link.attr("href");
  }

  event.preventDefault();
});

4voto

aki Points 453
<a href="#" id="myAnchor">Click me</a>

<script type="text/javascript">
$(document).ready(function(){
    $('#myAnchor').click(function(){
       window.location.href = 'index.php';
    });
})
</script>

4voto

polkovnikov.ph Points 1041

Ajoutez onclick="window.location = this.href" à votre élément <a> Après cette modification, il pourrait être .click() modifié avec le comportement attendu. Pour ce faire avec chaque lien de votre page, vous pouvez ajouter ceci :

 <script type="text/javascript">
    $(function () {
        $("a").attr("onclick", "window.location = this.href");
    });
</script>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X