如何使用jQuery选择并单击

时间:2013-02-21 18:14:19

标签: javascript jquery web-applications user-interface

<div id="subNav-Requests" class="suit-sub-nav" style="">
  <ul class="page-container">
    <li>
    <a class="navLink0" href="/MyApp/reporting/list/data.do">
        <span>Report Data</span>
    </a>
    </li>
  </ul>
</div>

我有这样的代码。我正在尝试模拟'Report Data'上的点击。我正在尝试的是

var nav = 'div#subNav-' + mainNavId; //results in 'div#subNav-Requests'
$(nav+' a.navLink0').trigger('click'); 

没有错误,没有任何反应。我也试过这个

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

达到同样的效果。我必须选择subNav-Requests,因为还有更多类似的东西,例如。 subNav-ReportssubNav-Allergies等具有相同结构但内部有许多navLinks

3 个答案:

答案 0 :(得分:3)

调用单击元素只会执行附加到元素的任何事件处理程序。它不会将浏览器发送到标签的href。要做到这一点,我能想到的最好的是:

var href = $('a.navLink0').attr('href');
window.location.href = href;

这符合您的需求吗?

答案 1 :(得分:1)

请尝试$('a.navLink0', nav).click();

答案 2 :(得分:0)

据我所知,您无法模拟链接上的实际点击,您所做的只是触发点击事件,但这还不够。

您可以通过

为事件设置监听器
$('a.navLink0').click(function() {
    window.location = $(this).attr("href");
});

然后触发点击事件,但你为什么要这样做?不会重定向更符合您的目的吗?

window.location = $('a.navLink0').attr("href");