【问题标题】:jquery force click (href)jquery 强制点击(href)
【发布时间】:2026-02-16 06:25:04
【问题描述】:

我有这个:

<li>
 <a href="#" data-content="visit">
  <span class="bf_hover"></span>
  <span>Visit us</span>
 </a>
</li>

我想自动打开“访问我们”链接。

我该怎么做?

【问题讨论】:

  • 我不明白你在问什么。 “访问我们”是跨度内的文本节点。如何“自动打开”这样的事情? “打开”它是什么意思?编辑:有人编辑您的帖子后,我想@Hussein 下面的答案就是您所追求的。

标签: jquery href


【解决方案1】:

您可以通过以下方式触发点击

$('li a').trigger('click');

【讨论】:

  • @jared 问题不具体
  • @Hussein - 没错,但答案可能更具体。 :)
  • 所以大家都认为li a 选择器是个好主意吗?注意:我通常避开元素级选择器。 :)
  • @JaredFarrish 这个答案的目的是说明 Jquery 如何触发点击,关于选择器的观点是常识。
【解决方案2】:

看起来 jQuery 在 100% 的情况下无法强制超链接的点击事件,而您的情况可能就是其中之一。我解决这个问题的方法是使用以下方法:

$('li a')[0].click();

这样,您将其用作 DOM 元素而不是 jQuery 对象,而且它似乎可以在许多浏览器中使用。

【讨论】:

  • 是的,这会调用 href 属性中的代码,而 $().click() 不会。谢谢!
【解决方案3】:

将窗口位置设置为链接的 href。仅当链接绑定到单击事件侦听器时,强制单击才会起作用。链接的默认行为是单击时转到某个位置,但不添加单击事件侦听器。您的解决方案应该如下:

<li>
 <a id="mylink" href="#" data-content="visit">
  <span class="bf_hover"></span>
  <span>Visit us</span>
 </a>
</li>

<script>
  window.location = $("#mylink").attr("href");
</script>

【讨论】:

    【解决方案4】:

    一种可能性是将 href="#" 中的井号符号替换为您希望吸引用户的页面的链接,即

    <li>
     <a href="visit_us.html" data-content="visit">
      <span class="bf_hover"></span>
      <span>Visit us</span>
     </a>
    </li>
    

    其中“visit_us.html”是页面的链接。

    【讨论】: