这会将类添加到li中。当单击另一个li时,它还会添加当前类。但现在我有两个潮流。你会注意到下面我试图从最初是当前的li中删除类电流。
var
$tabs = $('.promo-tabs li'),
$panes = $('.promo-panes > div');
$tabs.click(function(){
$(this).addClass('current')
$(this).parent().siblings().find('li').removeClass('current');
$panes.eq($tabs.index(this)).fadeIn().siblings().hide();
return false;
});
//Init Promo Tabs
$tabs.first().click();
关于如何调整此行以便在点击另一个li后删除该类的任何想法都会很棒
$(this).parent().siblings().find('li').removeClass('current');
答案 0 :(得分:4)
为什么不
$tabs.removeClass('current')
在
之前放置$(this).addClass('current')
?换句话说,只需从所有<li>
元素中删除“当前”,然后将其添加到已单击的元素中。
答案 1 :(得分:1)
以下内容应该有效:
$tabs.click(function(){
$tabs.removeClass('current');
$(this).addClass('current')
$panes.eq($tabs.index(this)).fadeIn().siblings().hide();
return false;
});
答案 2 :(得分:1)
我认为你的问题的答案是这个
$(this).parent().siblings().find('li').removeClass('current');
检查父母兄弟姐妹下的li标签。这些都应该有效
$(this).siblings().removeClass('current');
$(this).parent().find('li').removeClass('current');
但我认为最有效的解决方案是
$(this).parent().find('li.current').removeClass('current');
$(this).addClass('current');