2013-02-08 123 views
0

创建标签使用jQuery:为什么jquery选项卡被隐藏?

HTML:

<div id="tabs"> 

    <ul id="tab"> 
      <li> 
      <a href="#t1">Tab 1</a> 
      </li> 
      <li> 
      <a href="#t2">Tab 2</a> 
      </li> 
    </ul> 

    <div id="tab-contents"> 
     <div id="t1">aaaaaaaaaa</div> 
     <div id="t2">bbbbbbbbbb</div> 
    </div> 

</div> 

JS:

$("#tabs").tabs() 

我清空选项卡,

var tab = $("#tab").html() 
var tabCont = $("#tab-contents").html() 
$("#tab").empty() 
$("#tab-contents").empty() 

,并尝试重新绘制它:

$("#tab").html(tab) 
$("#tab-contents").html(tabCont) 
$("#tabs").tabs() 

它创建标签的元素,但不告诉他们

有什么问题呢?

+0

为什么您需要做这种事情?是否在调整大小时刷新标签内容? – Mordhak 2013-02-08 14:59:24

回答

1

jQueryUI在创建UI组件时向标记添加了一大堆数据。我的猜测是,它正在绊倒以前的UI数据,而不是正确地重新创建它。要修复它,当您重新绘制时会破坏旧选项卡数据,如下所示:

$("#tabs").tabs("destroy"); 
$("#tab").html(tab) 
$("#tab-contents").html(tabCont) 
$("#tabs").tabs()