2012-07-25 15 views
0

此代碼在點擊時添加活動類,如果我點擊另一個列表,它工作正常,但如果我再次點擊相同的鏈接,它不會從活動類中刪除它。請幫助我。需要添加和刪除同一列表項目中的活動類

在此先感謝。

$(document).ready(function(){ 
    $("li.menulink a").click(function(e){ 
    e.preventDefault(); 
    var thisList = $(this).next(); 
    thisList .toggle(); 
    $('li.menulink div').not(thisList).hide(); 
    $('a').removeClass('active'); 
    $(this).addClass('active'); 

    //$(this).removeClass("active"); 
}); 

}); 

<ul class="allcategorymenu"> 
      <li class="menuheading menulink"><h1>All Categories</h1></li> 
      <li class="mobile menulink"><a href="#"><span>Mobile &amp; Accessories</span></a> 
      <div class="submenu" style="display:none;"> 
       <ul> 
        <li><a href="1.html">All Jewelry</a></li> 
        <li><a href="2.html">Diamond Jewelry</a></li> 
        <li><a href="3.html">Silver Jewelry</a></li> 
        <li><a href="#">Pearl Jewelry</a></li> 
        <li><a href="#">Fashion Jewelry</a></li> 
        <li><a href="#">Gemstone Jewelry</a></li> 
        <li><a href="#">Spiritual Jewelry</a></li> 
       </ul> 
      </div> 
      </li> 
      <li class="mens menulink"><a href="#"><span>Men's Apparel</span></a> 
      <div class="submenu" style="display:none;"> 
       <ul> 
        <li><a href="1.html">All Jewelry</a></li> 
        <li><a href="2.html">Diamond Jewelry</a></li> 
        <li><a href="3.html">Silver Jewelry</a></li> 
        <li><a href="#">Pearl Jewelry</a></li> 
        <li><a href="#">Fashion Jewelry</a></li> 
        <li><a href="#">Gemstone Jewelry</a></li> 
        <li><a href="#">Spiritual Jewelry</a></li> 
       </ul> 
      </div> 
    </li> 
    </ul> 

回答

0
$("li.menulink a").click(function(e) { 
    e.preventDefault(); 
    var thisList = $(this).next(); 
    thisList.toggle(); 
    $('li.menulink div').not(thisList).hide(); 
    $(this).toggleClass('active '); 
    $('a.active').not(this).removeClass('active '); 
}); 

Demo

+0

我認爲這不符合我的要求..它仍然在菜單上顯示活動類。幫助將不勝感激。 – user1551389 2012-07-25 12:51:56

+0

如果我點擊第一個菜單,它將被激活,它將在href中添加活動類,但如果我再次點擊第一個菜單,它將不會刪除活動類。請相應提出建議。 – user1551389 2012-07-25 12:54:07

+0

@ user1551389檢查演示和更新 – thecodeparadox 2012-07-25 13:18:10

0
$(document).ready(function(){ 
    $("li.menulink a").click(function(e){ 
     e.preventDefault(); 
     var $this = $(this), 
      thisList = $this.next(); 
     thisList.toggle(); 
     $('li.menulink div').not(thisList).hide(); 
     $('a').not($this).removeClass('active'); 
     $this.toggleClass('active'); 
    }); 
}); 

這個代碼將所有<a>標籤未在點擊一個的清除活性類,然後切換上一個活動類。您現有的代碼從所有錨點標籤中剝離了該類,然後將其添加到活動的代碼中,無論該代碼是否被點擊。

+0

它也可以,謝謝 – user1551389 2012-07-26 04:12:19

相關問題