如果存在特定的类('current'),我需要在单击选项卡时调整一个元素的CSS。单击选项卡时会添加“当前”类。我的代码有效,但需要两次点击 - 我认为因为在第一次单击时,类被添加,然后在第二次,jQuery检测到它。这是jquery代码:
$('ul.tabs a').click(function() {
if($('a#tab5').hasClass('current')) {
$('#rightCorner').css("top","1px");
} else {
$('#rightCorner').css("top","7px");
};
})
有没有办法让它一键完成?
谢谢 - 乔
答案 0 :(得分:0)
你能组合添加current
类的代码和监视tab5的点击处理程序吗?这允许您添加类,然后执行检查。在您的情况下,操作顺序出错了。
$('ul.tabs a').click(function() {
$('ul.tabs a').removeClass('current');
$(this).addClass('current');
if (this.id == 'tab5') {
$('#rightCorner').css("top","1px");
}
else {
$('#rightCorner').css("top","7px");
}
})
更新
使用CSS而不是if语句处理选项卡5可能更容易。
ul.tabs a#tab5 { top: 7px; }
ul.tabs a#tab5.current { top 1px; }
答案 1 :(得分:0)
在else
分支中,您可能需要添加
$('a#tab5').addClass('current');