使用jQuery以编程方式单击<a>链接

Ste*_*oft 57 anchor jquery click hyperlink

我知道之前已经问过这个问题,但在网上搜索之后我似乎无法找到一个直截了当的答案.

HTML

<a id=myAnchor href=index.php>
Run Code Online (Sandbox Code Playgroud)

jQuery(这两个都不起作用)

 $('#myAnchor').click();
Run Code Online (Sandbox Code Playgroud)

要么

$('#myAnchor').trigger('click');
Run Code Online (Sandbox Code Playgroud)

实现这一目标的最简单,最有效的方法是什么?

小智 92

试试这个:

$('#myAnchor')[0].click();
Run Code Online (Sandbox Code Playgroud)

这个对我有用.

  • 这与传统浏览器有关.如果您需要广泛的兼容性,请不要使用它. (3认同)
  • @ EricHepperle-CodeSlayer2010,`[0]`是`.get(0)`的简写,它返回JQuery对象所引用的底层DOM元素.这允许你直接在DOM元素上调用`.click()`方法,这个方法有效,而不是jQuery对象,它不起作用. (3认同)

小智 32

window.location = document.getElementById('myAnchor').href
Run Code Online (Sandbox Code Playgroud)

  • 这曾经是重定向到链接的流行方式,不知怎的,它现​​在变成了一种迷失的古老技术:) (2认同)

ban*_*ang 25

单击只触发单击事件/事件而不是实际的"goto-the-links-href"操作.

你必须编写自己的处理程序然后你的$('#myAnchor').触发器('click'); 将工作...

$("#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();
});
Run Code Online (Sandbox Code Playgroud)