如何从JavaScript或jQuery点击锚标签

11

我有一个锚点标签,想通过 JavaScript 点击它,但是没有响应,在加载页面时应该自动跳转到 next.php,而不需要手动点击锚点标签。我该如何实现这个功能?

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script src="jquery-2.0.3.js"></script>
    <script type="text/javascript">
         alert("hai");
         $(document).ready(function() { $('#about').click(); });             
    </script>
</head>   
<body>
    <div>
         <a href="next.php" id="about">click here</a>
    </div>
</body>
</html>
5个回答

30

使用 $('selector')[0],而不是 $('selector'),因为 $('selector') 返回一个 jQuery 对象,所以 $('selector').click() 会触发 click 处理程序,而 $('selector')[0].click() 则会触发实际的 click。

$(document).ready(function () {
    $('#about')[0].click();  //$('#about').get(0).click();
});

演示


我应该知道为什么id后面要加[0]吗?get(0)是什么? - 151291
1
get(0)[0]相同。为什么在id后面要加上[0]呢?因为$('#about')返回的是一个jQuery对象。因此,如果定义了jQuery click处理程序,则对其进行的单击事件将触发该处理程序。$('#about')[0]将返回一个javascript对象,对其进行click()操作将模拟实际点击。 - Shaunak D
它对我起作用了。无论如何,我无法理解“将触发单击处理程序,而*****将触发实际单击”的概念。 - Pravinraj Venkatachalam
@ShaunakD 谢谢兄弟,我已经寻找这个很长时间了。 - Prateek Gupta

3

你不能使用javascript来触发点击事件

应该使用

<script type="text/javascript">
       $(document).ready(function() { 
             document.location.href='/next.php'
       });
</script>

你不能使用JavaScript触发点击事件 - 你可以查看https://dev59.com/5HE95IYBdhLWcg3wRLwt。 - Shaunak D

1
这里是可以帮助你的代码。

$(document).ready(function() {


  $(document).ready(function() {
    $('a').trigger('click');
  });

})

function abc() {
  alert("");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" onclick="abc()">click me not</a>

如果你想使用推荐的方式,那么在 $(document).ready 中使用这个。
window.location="where ever you want to go";

0
如果您想让页面在不点击的情况下跳转到next.php,则将window.location直接放入$(document).ready(function() { });中。 Click()函数用于触发点击事件。例如,当您想要在单击锚标记时触发某些操作时。
<script>
   alert("hai");
   $(document).ready(function() { 
      window.location = 'next.php';  //If you wish the page to automatically go to next page on page load.
      $('#about').click(   // If you wish to do something clicking anchor
        function(){
           alert("Hello");
        }); 
      });
</script>

0
$(document).ready(function() { $('#about').trigger('click'); });

更新:

 $(document).ready(function() {  $('#about')[0].click(); });

没有任何响应的代码,它显示正常,在点击后才会进入下一页。 - 151291

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接