GÜNCELLEME [ Sun 08/26/2012 ] Bu yanıt o kadar popüler hale geldi ki, onu tam teşekküllü bir blog / eğitim haline getirmeye karar verdim
jQueryUI'de
sekmelerle çalışmaya yönelik kolay erişim bilgilerindeki en son bilgileri görmek için
lütfen Blogum Burayı ziyaret edin Ayrıca dahil (blogda da) bir jsFiddle
Güncelleme! Lütfen dikkat: jQueryUI'nin (1.9+) daha yeni sürümlerinde, ui-tabs-selected
ile değiştirilmiştir ui-tabs-active
. !!!
Bu iş parçacığının eski olduğunu biliyorum, ancak bahsettiğim görmediğim bir şey "seçili sekmeyi" (Şu anda açılan panel) "sekme olayları" dışında bir yerden nasıl alacağımdı. Basit bir yolum var ...
var curTab = $('.ui-tabs-panel:not(.ui-tabs-hide)');
Ve dizini kolayca almak için, elbette sitede listelenen bir yol var ...
var $tabs = $('#example').tabs();
var selected = $tabs.tabs('option', 'selected'); // => 0
Ancak, indeksi ve bu panel hakkında istediğiniz her şeyi oldukça kolay almak için ilk yöntemimi kullanabilirsiniz ...
var curTab = $('.ui-tabs-panel:not(.ui-tabs-hide)'),
curTabIndex = curTab.index(),
curTabID = curTab.prop("id"),
curTabCls = curTab.attr("class");
// etc ....
PS. Bir iframe değişkeni kullanırsanız ve sonra .find ('. Ui-tabs-panel: not (.ui-tabs-hide)'), bunu çerçevelerdeki seçili sekmeler için de kolayca yapabilirsiniz. Unutmayın, jQuery tüm zor işi zaten yaptı, tekerleği yeniden icat etmeye gerek yok!
Sadece genişletmek için (güncellendi)
Soru bana soruldu, "Ya görünümde birden fazla sekme alanı varsa?" Yine, basit düşünün, aynı kurulumumu kullanın, ancak hangi sekmeleri ele geçirmek istediğinizi belirlemek için bir kimlik kullanın.
Örneğin, varsa:
$('#example-1').tabs();
$('#example-2').tabs();
Ve ikinci sekme kümesinin geçerli panelini istiyorsunuz:
var curTabPanel = $('#example-2 .ui-tabs-panel:not(.ui-tabs-hide)');
Ve paneli değil de GERÇEK sekmesini istiyorsanız (gerçekten kolay, bu yüzden bundan daha önce bahsetmedim ama sanırım şimdi yapacağım, sadece kapsamlı olmak için)
// 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+
Yine, unutmayın, tüm zor işi jQuery yaptı, çok fazla düşünme.