<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-Reports
,subNav-Allergies
等具有相同结构但内部有许多navLinks
。
答案 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");