使用jQuery以编程方式点击<a>链接
我知道这个问题之前已经被问过了,但是在networkingsearch之后,我似乎找不到一个简单的答案。
HTML
<a id=myAnchor href=index.php>
jQuery (这两个都不行)
$('#myAnchor').click();
要么
$('#myAnchor').trigger('click');
什么是最简单和最有效的方法来实现呢?
尝试这个:
$('#myAnchor')[0].click();
这个对我有用。
window.location = document.getElementById('myAnchor').href
点击只是触发点击事件/事件而不是实际的“goto-the-links-href”操作。
你必须编写自己的处理程序,然后你的$('#myAnchor')。trigger('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(); });
<a href="#" id="myAnchor">Click me</a> <script type="text/javascript"> $(document).ready(function(){ $('#myAnchor').click(function(){ window.location.href = 'index.php'; }); }) </script>
我尝试了几个上述解决scheme,但他们没有为我工作。 这里是一个链接到我工作的页面自动点击一个链接
以上链接有很多解决scheme,这里是为我工作的,
<button onclick="fun();">Magic button</button> <!--The link you want to automatically click--> <a href='http://www.ercafe.com' id="myAnchor">My website</a>
现在在<script>
标签中,
<script> function fun(){ actuateLink(document.getElementById('myAnchor')); } function actuateLink(link) { var allowDefaultAction = true; if (link.click) { link.click(); return; } else if (document.createEvent) { var e = document.createEvent('MouseEvents'); e.initEvent( 'click' // event type ,true // can bubble? ,true // cancelable? ); allowDefaultAction = link.dispatchEvent(e); } if (allowDefaultAction) { var f = document.createElement('form'); f.action = link.href; document.body.appendChild(f); f.submit(); } } </script>
复制粘贴上面的代码,点击'Magic button'
button,你将被redirect到ErCafe.com
。
将onclick="window.location = this.href"
到您的<a>
元素。 在这个修改之后,它可能是.click()
与预期的行为。 要在页面上的每个链接都这样做,可以添加以下内容:
<script type="text/javascript"> $(function () { $("a").attr("onclick", "window.location = this.href"); }); </script>
如果您使用的是jQuery,可以使用jQuery.trigger
http://api.jquery.com/trigger/
例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="https://code.jquery.com/jquery-2.2.3.js"></script> </head> <body> <a id="foo" onclick="action()"></a> <script type="text/javascript"> function action(){ window.location.replace("http://stackoverflow.com/q/9081426/5526354") } $("#foo").trigger("click"); </script> </body> </html>
这个为我工作:
$('#myAnchorId')[0].click();