添加类并删除其他类

时间:2013-07-13 17:59:26

标签: jquery drop-down-menu addclass removeclass

所以我有一个简单的下拉菜单,我面临挑战,因为我已经构建了一个简单的颜色选择器,删除一个类并添加另一个,所有这一切都没有删除下拉列表的基本类。   我试过.filter()和.not()但似乎没什么用。   这是jQuery部分:

$('ul.colopicker li').click(function(){
var $text = $(this).text();
  $('ul#navmenu li, ul.sub1 li, ul.sub2 li').removeClass($text);
  $('ul#navmenu li, ul.sub1 li, ul.sub2 li').addClass($text);
});

这是fiddle

My question is: Can anyone modify the jQuery so that when i click the colors to add class but not remove the default one

2 个答案:

答案 0 :(得分:2)

很难说出你想要达到的目标,但你可能会有更好的运气:

$('ul.colopicker li').click(function(){
var $text = $(this).text();
    $('.'+$text).removeClass('red blue');
    $('ul#navmenu li, ul.sub1 li, ul.sub2 li').addClass($text);
});

答案 1 :(得分:0)

如果您想更改所有li的背景,最好只在ul上切换课程:

CSS:

.red li {background-color:red !important;}
.blue li {background-color:blue !important;}

JavaScript的:

$('ul.colopicker li').click(function(){
    var $text = $(this).text();  
    $('ul#navmenu').removeClass().addClass($text);
});

小提琴: http://jsfiddle.net/gFSac/1/