2017-03-13 25 views
0

我想要刪除class="active"。我有found,我們可以做這樣的事情:當我們點擊該元素時,刪除活動類

$('#menu li').on('click', function(){ 
     $("#menu").hide(); 
     $("#menu-icon").removeClass("active"); 
    }); 
與我的結構

所以:

enter image description here

我試過這段代碼:

$('.nav side-menu li').on('click', function(){ 
     $(".nav side-menu li").removeClass("active"); 
}); 

但什麼也沒有發生,我算什麼我做錯了?

[編輯]我認爲問題來自方式選擇HTML元素 ,這就是菜單的HTML:

<!-- sidebar menu --> 
<div id="sidebar-menu" class="main_menu_side hidden-print main_menu"> 
<div class="menu_section"> 
    <h3>General</h3> 
    <ul class="nav side-menu"> 
    <li><a><i class="fa fa-desktop"></i> Docker machines <span class="fa fa-chevron-down"></span></a> 
    <ul class="nav child_menu"> 
    <li><a class="itemsMenu" href="/">All Docker machines</a></li> 
    </ul> 
    </li> 
    <li><a><i class="fa fa-table"></i> Docker containers <span class="fa fa-chevron-down"></span></a> 
    <ul class="nav child_menu"> 
    <li><a class="itemsMenu" href="/">All containers</a></li> 
    </ul> 
    </li> 
    <li><a><i class="fa fa-bar-chart-o"></i> Data Presentation <span class="fa fa-chevron-down"></span></a> 
    <ul class="nav child_menu"> 
    <li><a class="itemsMenu" href="/dataGraph">Grafana monitoring</a>   </li> 
    </ul> 
    </li> 
</ul> 
</div> 

我使用流星

+0

您是否缺少'。'在「側面菜單」前面? – G0dsquad

+0

嘗試'$(本).removeClass( 「活動」);' –

+0

@ G0dsquad它改變不了什麼:( – Jerome

回答

1

您的選擇器不會像您期望的那樣工作,您需要將它們組合起來,儘管使用this來引用單擊的元素。

$('.nav.side-menu li').on('click', function(){ 
    $(this) 
    .removeClass("active") 
    // get the nested children and hide 
    .find('ul') 
    .hide(); 
}); 
+0

(我不是你的解決方案沒有任何反應 – Jerome

+0

@Jerome:檢查更新的 –

+0

@Jerome:分享您的html代碼 –

0
$('.nav.side-menu li').each(function(){ 
    $(this).on('click', function(){ 
    $(this).removeClass('active'); 
    }); 
}); 

$( 'nav.side菜單裏')返回列表元素的數組。如果您在點擊功能中選擇它,您又重新排列了一個數組,並且它不起作用

相關問題