2009-12-03 97 views
1

我使用的是相同的JS的人在這個問題回答說:https://stackoverflow.com/questions/302955/active....導航加入jQuery的活動鏈接

我的問題是,而不是添加類的默認鏈接我想給類添加到與同一目錄的鏈接。

示例:Page2位於不同的目錄中。在該頁面上點擊導航之外的鏈接。當你進入下一頁時,我怎樣才能保持第2頁鏈接上的活動課程?

這裏的導航

<div id="nav"> 
       <ul> 
       <li><a href="index.html">Home</a></li> 
       <li><a href="test/index.html">Page2</a></li> 
       <li><a href="test2/index.html">Page3</a></li> 
</ul> 
</div> 

下面是我的jQuery。第一部分作品完美第二部分是我有麻煩的地方:

function markActiveLink() {var currentURL = window.location.toString().split("/"); 
$("#nav li a").filter(function() { 
//alert(currentURL); 
    return $(this).attr("href") == currentURL[currentURL.length-1]; 
    }).parent().addClass("current"); 
if($("#nav li").hasClass("current") == false) { 
    alert(currentURL[currentURL.length-2]); 

    } 
} 

markActiveLink(); 

謝謝你提前!

回答

0

這應該工作。考慮到整個路徑不僅僅是它的最後一部分。

function markActiveLink() { 
    var path = location.pathname.substring(1); 
    $('#nav li a[href="' + path + '"]').parent().addClass("current"); 
    if($("#nav li").hasClass("current") == false) { 
     //whatever e.g. select default 
     $('#nav li').eq(0).addClass("current"); 
    } 
} 

markActiveLink(); 
+0

高抖動, 沒有工作。它只是保留了第一個元素的類。 – cadenage 2009-12-03 15:44:38

+0

你確定嗎?發佈後不久我從第一個選擇器中刪除了一個'$'。可以在'alert(path)'中構建並在註釋中發佈一些值 – jitter 2009-12-03 19:19:59

+0

那麼,這方面的進展如何?你能提供樣本值到什麼路徑評估? – jitter 2009-12-04 19:18:10

相關問題