2013-02-21 78 views
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'。我正在嘗試的是如何選擇並點擊使用jQuery

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

你試過'$('a.navLink0')[0] .click()'? – 2013-02-21 18:17:10

+0

觸發點擊試圖完成的是什麼?導航或呼叫附加事件? – epascarello 2013-02-21 18:21:08

回答

1

請儘量$('a.navLink0', nav).click();

+1

最好使用find() – epascarello 2013-02-21 18:18:20

3

在元素上點擊調用執行只是附着在單元的任何事件處理程序。它不會將瀏覽器發送到標籤的href。要做到這一點,我能想到的最好的是:

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

這是否符合您的需求?

0

據我所知你不能模擬實際點擊鏈接,你在做什麼只是觸發一個點擊事件,但這還不夠。

您可以設置通過

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

的事件監聽器,然後觸發click事件,但爲什麼要這麼做?將不會重定向適合你的目的更好?

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