2015-12-02 164 views
2

我需要当我点击一个按钮,从一个导航栏崩溃删除这个CSS部分CSS部分:如何删除当按钮被点击

ul.nav li.dropdown:hover > ul.dropdown-menu { 
    display: block;  
} 

我想是这样的:

$("#toggleButton").click(function() 
{ 
    $(".navbar-collapse").remove("ul.nav","li.dropdown","ul.dropdown-menu"); 
}); 

但它不起作用。我想有一个响应式导航栏菜单,当它崩溃时从该视图中删除下拉菜单。

+0

要删除的类或CSS? – Turnip

+0

为什么你需要删除显示块?你想隐藏这些元素吗?如果是这样,你可以使用.hide() – spaniol6

+0

你不能真正删除的CSS部分,以及,你可以,但这可能不是你想要的,你想删除类,或应用新的样式,覆盖旧的那些。 – adeneo

回答

1

你只需要刚才设置的CSS属性displaynone施加到ul元素.dropdown-menu类。

ul.nav li.dropdown:hover这里没有任何相关性,因为它们被用作元素定位符并且没有display:none应用于它们。

$("#toggleButton").click(function() 
{ 
    $('ul.dropdown-menu').css('display','none'); 
}); 

要删除整个CSS属性,

$("#toggleButton").click(function() 
{ 
    $('ul.dropdown-menu').removeAttr('style'); 
}); 
2

你试过removeClass了吗?

$(".navbar-collapse").removeClass("nav dropdown dropdown-menu"); 

如果你想从DOM

$(".nav, .dropdown, .dropdown-menu").remove(); 
+0

当我调整窗口大小时,我用一个按钮做出了一个启动菜单响应。当我显示该菜单时,我想隐藏下拉菜单,但在全屏返回时保留属性。 – dimvcl

+0

查看http://api.jquery.com/hide/和http://api.jquery.com/show/ – Andy

0

删除元素有不止一种方法来做到这一点,但你可以通过更改CSS当你点击按钮

做以下是你将如何实现的:

$("#toggleButton").click(function() 
{ 
    $("ul.nav li.dropdown:hover > ul.dropdown-menu").css({"display": "none"}); 
}); 
0

试试这个:

$("#toggleButton").click(function(){ 
    $(".navbar-collapse").remove("ul.nav li.dropdown > ul.dropdown-menu"); 
});