2015-02-06 62 views
0

我有一個導航欄,我想在其中添加一個類到當前頁面的li標籤,以便我可以添加css來顯示您所在的頁面。在導航中向li添加/刪除類「current」

<script> 
$(function() { 
     $("#nav.ul.li").click(function() { 
     $("#nav.ul.li").removeClass("current"); 
     $(this).addClass("current"); 
    }); 
}); 
</script> 

這是我使用我的導航欄的HTML::

<nav id="nav"> 
     <ul> 
      <li><a href="index.html">Home</a></li> 
      <li> 
       <a href="Events Calendar.html">Events Calender</a> 
       <ul> 
        <li><a href="Rules and Regulations.html">Rules</a></li> 
        <li><a href="Facilities.html">Facilities</a></li> 
       </ul> 
      </li> 
      <li><a href="Video Guides.html">Video Guides</a></li> 
      <li><a href="Gallery.html">Gallery</a></li> 
      <li><a href="Store.html">Store</a></li> 
      <li><a href="FindUs.html">Where to find us</a></li> 
      <li><a href="Contact Us.html">Contact Us</a></li> 
      <li><a href="About Us.html">About Us</a></li> 

     </ul> 
    </nav> 

但是這個劇本沒有工作,所以使用javascript/jquery的什麼是最好的,我已經使用這個腳本,它嘗試點擊我的導航欄中的li標籤來設置課程的方式?

所有幫助非常感謝!

+0

'.'是一個類選擇器,在發佈的代碼中沒有任何類。 – Teemu 2015-02-06 19:39:53

+1

當頁面導航的課程不會在那裏,當新的頁面加載... – epascarello 2015-02-06 19:47:03

+0

^同意,除非你使用templatie系統,並且你的jquery是所有頁面上的靜態代碼,或者你正在做一個spa – indubitablee 2015-02-06 19:54:53

回答

0

刪除使用像#nav.ul.li點,並把空間之間:

$(function() { 
$("#nav ul li").click(function() {//or #nav > ul > li for direct element 
    $("#nav ul li").removeClass("current"); 
    $(this).addClass("current"); 
}); 
}); 

使用.當你有一個像$('.sel')他們一類爲<div class="sel">和使用#對於具有ID,你通常使用的元素CSS。

0

使用$("#nav > ul > li")而不是$("#nav.ul.li")。 jQuery選擇器使用與CSS相同的語法。其他解決方案如$("#nav ul li")也將在您的<li>元素之一中添加/刪除unordered list插入物中的類。