2013-11-01 35 views
0

以下代碼爲菜單中單擊的每個鏈接切換(插入和刪除)類「menu-min」。只有當點擊了#toggle-pane ID的鏈接時,我才希望此腳本執行此操作。我不知道該怎麼做。任何幫助表示讚賞。觸發jQuery .toggleClass()使用href ID

<ul class="cbp-vimenu"> 
     <li><a href="#" class="icon-logo">&nbsp;</a></li> 
     <li> 
      <a href="#" class="icon-archive"><span class="menu-text"> Dashboard </span></a> 
     </li> 
     <li> 
      <a href="#" class="icon-search"><span class="menu-text"> Search </span></a> 
     </li> 
     <li> 
      <a href="#" class="icon-location"><span class="menu-text"> Location </span></a> 
     </li> 
     <li> 
      <a href="#" class="icon-images"><span class="menu-text"> Images </span></a> 
     </li> 
     <li> 
      <a href="#" class="icon-download"><span class="menu-text"> Download </span></a> 
     </li> 
     <li> 
      <a id="toggle-pane" href="#" class="icon-pencil"><span class="menu-text"> Add Class </span></a> 
     </li> 
     <!-- Example for active item: 
     <li class="cbp-vicurrent"><a href="#" class="icon-pencil">Pencil</a></li> 
     --> 
    </ul>` 

這裏是我的jQuery

<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script> 
    $(".cbp-vimenu").click(function() { 
     $(this).toggleClass("menu-min"); 
    }); 
</script> 

回答

2

click事件註冊只向#toggle-pane元素,然後裏面找到cbp-vimenu元素和切換其類

$("#toggle-pane").click(function() { 
    $('.cbp-vimenu').toggleClass("menu-min"); 
    //or $(this).closest('.cbp-vimenu').toggleClass("menu-min"); 
    //I don't think you want to use closest since it doesn't look like you have many elements with class cbp-vimenu 
}); 
+0

謝謝。這解決了我的問題。我會查找註冊事件的信息。我是jQuery的新手。 – Cosmo

0
$("#toggle-pane").click(function() { 
    $(this).closest('ul.cbp-vimenu').toggleClass("menu-min"); 
}); 

參考

.closest()

id selector

+1

Tushar謝謝你指點我的id選擇器。這非常有教育意義。 – Cosmo

+0

@Cosmo歡迎高興幫忙:) –