2012-06-15 145 views
0

我使用jquery UI tabs,想知道,是否有可能指向一个div的id是不存在的jQuery UI的标签问题

main tab div容器,意味着

<div id="tabs"> 
    <ul> 
     <li><a href="#tabs-1">tab1</a></li> 
     <li><a href="#tabs-2">tab2</a></li> 
     <li><a href="#outerdiv">tab3</a></li> 
    </ul> 
    <div id="tabs-1"> 
     <p>Tab 1</p> 
    </div> 
    <div id="tabs-2"> 
     <p>Tab 2</p> 
    </div> 
</div> 

<div id="outerdiv"> 
     <p>Tab 3</p> 
    </div> 

我试过,但div#outer内容无法打开时,我点击tab3。我怎样才能做到这一点?

+0

我们可以看到您的JavaScript? – jeschafe

+0

没有改变jquery ui选项卡的源代码或者做一些黑客(使用代码移动'外部'div).... no – ManseUK

+0

@ManseUK你不需要编辑jquery ui选项卡的源代码来获取它工作,你可以使用'load'方法,但它仍然不是很整齐。 – Curt

回答

2

我相信默认的jQuery插件正在寻找$(this).find("#outerdiv")(其中this = #tabs),你的元素不是。

有办法让这个工作,但我认为最好的事情是将#outerdiv移动到#tabs

如果你坚持保留标记一样,你可以使用load方法,像这样:

$("#tabs").tabs({ 
load: function (event, ui) { 
    switch (ui.index) { 
     case 2: 
      $("#tabs div").hide(); 
      $("#outerdiv").show(); 
      break; 
    } 
} 
}); 

但我不知道这将如何影响你的标签面板的其余部分。您可能必须将它们全部添加到此切换功能中。