2014-03-13 63 views
0

任何人都可以看到我的大腦放屁在這個?第一部分效果很好(設置活動導航主類別頁面) - 但在第二部分(在文章頁面上設置活動導航)時,項目看起來沒有問題,但該類不會被添加。在這些頁面上,我需要將主要導航項設置爲活動狀態,如果它們與文章中使用的類別鏈接相匹配。jquery匹配鏈接文本到變量和添加類

 /* Set active nav on main category pages */ 
     var currentPath = window.location.pathname, 
      currentFilter = window.location.search, 
      currentUrl = currentPath + currentFilter; 
     //alert("currentUrl: " + currentUrl); 
     $('#main-navigation li a[href="'+currentUrl+'"]').parent('li').addClass('active-link'); 


     /* Set active nav/s on library article pages (match ALL categories) */ 
     $('.view-item article .categories a').each(function(){ 
     var currentCategory = $(this).text(); 
     //alert("currentCategory: " + currentCategory); 
     $('#main-navigation li a:contains("'+currentCategory+'")').parent('li').addClass('active-link'); 
     }); 

回答

0

好吧我最終得到了這個工作!

這作品時,我使用的主要導航類名稱,而不是ID的,就像這樣:

$(".main-nav li a:contains('"+currentCategory+"')").parent("li").addClass("active-link"); 

,而不是這樣的:

$("#main-navigation li a:contains('"+currentCategory+"')").parent("li").addClass("active-link"); 
+0

確定 - 這似乎是這樣做的原因是因爲我用於這個網站的CMS模板在名爲#main-navigation的html中有兩個元素......只有一個實際使用時基於使用模板時選擇的選項 - 但是因爲實際上有獲取的html中的2個主要導航元素當你在該ID上運行腳本時發現它不起作用 - 所以你需要改用類名。 – VUELA