2011-03-24 120 views
0

我有,如果选择一个选项卡,检查声明:removeClass和addClass不工作

$('#social_edit_pannels').tabs({ 
select: function(event, ui) { 
var theSelectedTab = ui.index; 

if (theSelectedTab == 0) { 
$('ul li.ep-messages').removeClass('ep-messages').addClass('ep-messages-click'); 
$('ul li.ep-friends').removeClass('ep-friends-click').addClass('ep-friends'); 
} 
else if (theSelectedTab == 1) { 
$('ul li.ep-friends').removeClass('ep-friends').addClass('ep-friends-click'); 
$('ul li.ep-messages').removeClass('ep-messages-click').addClass('ep-messages'); 
} 
    } 
}); 

正在发生的事情是,只有remove'ing的第一个语句并添加类从每一个if语句的工作原理。

例如,当我运行该脚本,它的行为像它会只有这样的:

if (theSelectedTab == 0) { 
$('ul li.ep-messages').removeClass('ep-messages').addClass('ep-messages-click'); 
} 
else if (theSelectedTab == 1) { 
$('ul li.ep-friends').removeClass('ep-friends').addClass('ep-friends-click'); 
} 

第二条语句从每个if ...不起作用。 也许它不知道类是否存在?

有什么想法?

回答

1
$('ul li.ep-friends').removeClass('ep-friends-click').addClass('ep-friends'); 

$('ul li.ep-friends')目前尚不具备ep-friends类,这就是为什么它没有找到 你必须使用,而不是为:第二个'ul li.ep-friends'

相同的解释另一种选择。

+0

伟大的观察,我发现我的方式使用.hasClass – Patrioticcow 2011-03-25 00:08:01