1
<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因为还有更多类似的,例如 EgsubNav-ReportssubNav-Allergies,具有相同的结构但navLinks内部有很多。

4

3 回答 3

3

在元素上调用 click 只会执行附加到该元素的任何事件处理程序。它不会将浏览器发送到 a 标签的 href。为此,我能想到的最好的方法是:

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

这能满足你的需要吗?

于 2013-02-21T18:20:38.077 回答
1

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

于 2013-02-21T18:16:51.207 回答
0

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

您可以通过以下方式为事件设置监听器

$('a.navLink0').click(function() {
    window.location = $(this).attr("href");
});

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

window.location = $('a.navLink0').attr("href");
于 2013-02-21T18:21:10.110 回答