使用隐藏选项卡在jQuery UI 1.9+上按ID选择选项卡

时间:2013-02-07 12:16:02

标签: jquery-ui jquery-ui-tabs hidden

如何在最新版本的jQuery UI中按ID选择标签?我曾经这样做过:

$(mytabs).tabs("select", "#tab_contents");

它工作正常,即使隐藏了一些标签。现在我升级了jQuery UI,上面的代码不再起作用了。我尝试在此网站上关注一些other suggestions,最后得到了这个:

$(mytabs).tabs("option", "active", $(mytabs).find("li").index("#tab_header"));

它不仅更加冗长,而且没有选择正确的选项卡,因为其中一些是隐藏的。怎么办呢?

P.S。为了隐藏一些标签,我使用了$("#tab_header").hide()。这在最近的版本中仍然是正确的,还是有更好的方法?

2 个答案:

答案 0 :(得分:3)

找到解决方案:

$(mytabs).tabs("option", "active", $("#tab_header").index());

这将选择正确的选项卡,无论哪个选项卡可见(甚至可以选择当前不可见的选项卡 - 显示内容,但不显示标题)。

答案 1 :(得分:0)

<div id="tabs">
    <ul>
       <li id="ha"><a href="#a">A</a></li>
       <li id="hb"><a href="#b">B</a></li>
       <li id="hc"><a href="#c">C</a></li>
       <li id="hd"><a href="#d">D</a></li>
       <li id="he"><a href="#e">E</a></li>
   </ul>
  <div id="a">AAA</div>
  <div id="b">BBB</div>
  <div id="c">CCC</div>
  <div id="d">DDD</div>
  <div id="e">EEE</div>
</div>

.index0开始,

$(mytabs).tabs("option", "active", $("#ha").index());

但如果您使用#a代替#ha,请使用此

$(mytabs).tabs("option", "active", $("#a").index()-1);