首页 > 解决方案 > 使用 Jquery 点击超链接

问题描述

我正在尝试创建一个 jquery 来单击超链接,但似乎没有任何效果。

HTML

<main id="main" class="main-content">
<div class="container">
<div class="warning" role="alert">
no avail
<a href="gohere.com">Show all</a>
</div>

我在尝试什么

$(".warning a").click()

有什么建议么?

标签: javascriptjqueryhtml

解决方案


请注意,jQuery 发起的“点击”事件将触发该事件,但不会导致导航发生。

相反,您可以读取链接的 HREF 属性并直接设置窗口位置:

// The click event:
$('a').on("click", function() {
  console.log("Click event fired");
})


var demo1 = function() {
  // This will trigger the click event, but will not navigate.
  $(".warning a").click()
}

var demo2 = function() {
  // This will navigate but will not trigger the click event. (If you need both to happen, trigger the click event first, and consider delaying the window location update if necessary.)
  var url = $(".warning a").attr("href")
  window.location = url;

}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<main id="main" class="main-content">
  <div class="container">
    <div class="warning" role="alert">
      <a href="https://example.com">Show all</a>
    </div>
  </div>
</main>

<!-- for demo: -->
<button onclick="demo1()">Won't work</button>
<button onclick="demo2()">Will work</button>


推荐阅读