【发布时间】:2011-09-08 21:15:40
【问题描述】:
jQuery 的选项卡 ui 中的“add”方法正在向我的“#tabs”元素添加一个额外的选项卡面板 div,这让我感到很沮丧。这是我用来添加一个显示通过 Ajax 获取其内容的日历的选项卡的代码行:
$("#tabs").tabs("add", "tabContent.php?id=48&tab=calendar", "Calendar");
最初只有一个标签,现在应该有两个。实际上,<ul> 元素中现在存在两个选项卡,但现在神秘地有三个<div> 元素对应于选项卡面板,如下所示。如果不是因为新创建的<div> 元素之一没有隐藏,即使它对应于非活动选项卡,这也不会成为问题。结果,<div> 虽然是空的,但在我的第一个和原始选项卡面板的底部占据了一块空间。很抱歉代码混乱,但我包含了所有原始 jQuery 标记以准确显示 jQuery 所做的事情。
<div id="tabs" class="ui-tabs ui-widget ui-widget-content ui-corner-all">
<ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
<li class="ui-state-default ui-corner-top ui-tabs-selected ui-state-active"><a href="#tabs-1">Tab 1</a></li>
<li class="ui-state-default ui-corner-top"><a href="#ui-tabs-2"><span>Calendar</span></a></li>
</ul>
<div id="tabs-1" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
Original Tab
</div>
<!-- Why are there two divs here?? -->
<!-- Note that first <div> below not given class 'ui-tabs-hide' -->
<div id="ui-tabs-2" class="ui-tabs-panel ui-widget-content ui-corner-bottom"></div>
<div id="ui-tabs-1" class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"></div>
</div>
注意底部应该只有一个的两个<div> 元素。
【问题讨论】:
-
请包含更多代码,eps 您启动选项卡的部分。
标签: javascript jquery-ui