我有Master選項卡元素tab1
和tab2
。其中tab2
具有subtab1
和subtab2
的另一個嵌套選項卡元素。jquery ui選項卡:獲取創建嵌套選項卡的寬度
最初掌握卡具有隻tab1
。然後tab2
,tab3
等..被動態創建和具有subtab1
和subtab2
。
目標: 我想嵌套的標籤的寬度(subtabs-*
)時,他們不得不選擇它們或使用任何骯髒的事件created.Without。
問題: 我可以得到母校標籤的寬度與 var master_width = $("div.ui-tabs-panel:not(.ui-tabs-hide)",$master).width();
但我不能讓從標籤的寬度。
我的猜測是因爲tab2被創建但尚未被選中,因此subtab- *不可見,因此寬度爲零。 但是已經創建了子標籤,所以必須有一種方法來獲得它的寬度。
我能通過atcive:event獲得slave tab的widht。但這不是我的要求。 創建時我需要獲取它的寬度。
的jsfiddle:HERE
HTML:
<div id="tabs">
<ul>
<li><a href="#tabs-1">tab1</a></li>
<li><a href="#tabs-2">tab2</a></li>
</ul>
<div id="tabs-1">
some data
</div>
<div id="tabs-2">
<div id="subtabs">
<ul>
<li><a href="#subtabs-1">subtab1</a></li>
<li><a href="#subtabs-2">subtab2</a></li>
</ul>
<div id="subtabs-1">
some data
</div>
<div id="subtabs-2">
some data
</div>
</div>
</div>
</div>
JS:
var $master = $("#tabs").tabs();
var $slave = $("#subtabs").tabs();
var master_width = $("div.ui-tabs-panel:not(.ui-tabs-hide)",$master).width();
// For display purpose append to body or use console.log
$("body").append("Master : "+master_width+"<br>");
var slave_width = $("div.ui-tabs-panel:not(.ui-tabs-hide)",$slave).width();
// For display purpose append to body or use console.log
$("body").append("Slave : "+slave_width);//returns zero