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