-1

所以我有一个简单的下拉菜单,我面临着一个挑战,因为我已经构建了一个简单的颜色选择器,它可以删除一个类并添加另一个类,所有这些都没有删除下拉菜单的基本类。我试过 .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);
});

这是小提琴

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

2 回答 2

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);
});
于 2013-07-13T18:08:18.430 回答
0

如果您想更改所有lis 的背景,最好只在以下位置切换类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/

于 2013-07-13T18:16:53.237 回答