ATUALIZAÇÃO [ Sun 2012/08/26 ] Esta resposta tornou-se tão popular que eu decidi fazê-lo em um blog de pleno direito / tutorial
Visite meu blog aqui para ver o mais recente em informações de acesso fácil de trabalhar com abas em jQueryUI
Também incluídos (no blog também) é um jsFiddle
¡¡¡Atualização! Observação: nas versões mais recentes do jQueryUI (1.9+), ui-tabs-selected
foi substituído por ui-tabs-active
. !!!
Eu sei que este tópico é antigo, mas algo que não vi mencionado foi como obter a "guia selecionada" (painel atualmente suspenso) de algum lugar diferente dos "eventos da guia". Eu tenho uma maneira simples ...
var curTab = $('.ui-tabs-panel:not(.ui-tabs-hide)');
E para obter facilmente o índice, claro que existe a forma listada no site ...
var $tabs = $('#example').tabs();
var selected = $tabs.tabs('option', 'selected'); // => 0
No entanto, você poderia usar meu primeiro método para obter o índice e qualquer coisa que quiser sobre esse painel muito fácil ...
var curTab = $('.ui-tabs-panel:not(.ui-tabs-hide)'),
curTabIndex = curTab.index(),
curTabID = curTab.prop("id"),
curTabCls = curTab.attr("class");
// etc ....
PS. Se você usar uma variável iframe então .find ('. Ui-tabs-panel: not (.ui-tabs-hide)'), você achará fácil fazer isso também para as guias selecionadas nos quadros. Lembre-se, jQuery já fez todo o trabalho duro, não há necessidade de reinventar a roda!
Apenas para expandir (atualizado)
A pergunta que me foi apresentada: "E se houver mais de uma área de guias na visualização?" Novamente, pense de forma simples, use minha mesma configuração, mas use um ID para identificar quais guias você deseja acessar.
Por exemplo, se você tem:
$('#example-1').tabs();
$('#example-2').tabs();
E você quer o painel atual do segundo conjunto de guias:
var curTabPanel = $('#example-2 .ui-tabs-panel:not(.ui-tabs-hide)');
E se você quiser a guia ACTUAL e não o painel (muito fácil, é por isso que eu não mencionei antes, mas suponho que vou agora, apenas para ser mais completo)
// for page with only one set of tabs
var curTab = $('.ui-tabs-selected'); // '.ui-tabs-active' in jQuery 1.9+
// for page with multiple sets of tabs
var curTab2 = $('#example-2 .ui-tabs-selected'); // '.ui-tabs-active' in jQuery 1.9+
Novamente, lembre-se, jQuery fez todo o trabalho duro, não pense muito.