2013-03-06 213 views
0

我有一個列表創建的菜單。我希望能夠突出顯示當前的菜單項。突出顯示活動菜單項

使用此腳本,我可以匹配url的最後一位(最後一個/後面的所有內容),但我需要該腳本與url中的前兩個文件夾匹配。因此,而不是index.html,我想抓住/folder1/folder2/index.html

$(function() { 
    var url = window.location.href.substr(window.location.href.lastIndexOf("/") + 1); 
    $(".nav li a").each(function() { 
     //console.log(url); 
     if ($(this).attr("href") == url) $(this).parent().addClass("active"); 
    }); 
}); 


//Markup: 

<ul id="nav"> 
     <li><a href="/folder1/folder2/index.html">Home</a></li> 
     <li><a href="/folder1/folder2/about.html">About</a></li> 
     <li><a href="/folder1/folder2/contact.html">Contact</a></li> 
</ul> 

如何修改腳本以匹配url的更多部分?

+0

window.location.pathname? – 2013-03-06 09:32:56

回答

2

這個應該工作:

$(function() { 
    var url = window.location.href.substr(window.location.href.lastIndexOf("/") + 1); 
    $('[href$="'+url+'"]').parent().addClass("active"); 
}); 
+0

完美的作品!非常感謝。 – Meek 2013-03-06 11:17:15