1

如何清空(删除所有选项卡)jQuery UI 选项卡?

编辑:我不是要删除选项卡功能,而是要清空所有选项卡以添加新选项卡。

我正在尝试:

for (var i = $('#content').tabs('length') - 1; i >= 0; i--) {
    $('#content').tabs('remove', i);
}

但是 tabs('length') 总是返回 0,即使控件中添加了一些选项卡。

顺便说一句,我将它初始化为空

$('#content').tabs();

并在之后动态添加标签

$('#content').tabs( 'add' , '' , data[i].nombre);
4

4 回答 4

6

我在遍历选项卡并将它们全部删除时遇到了麻烦,就像您在问题中所做的那样。我的解决方案是删除第 0 个选项卡的次数等于选项卡对象的“长度”方法返回的值:

var tab_count = $('#tabs').tabs('length');
for (i=0; i<tab_count; i++){
    $('#tabs').tabs( "remove" , 0 )
}
于 2011-10-14T20:24:32.593 回答
4

我有一个类似的问题。为了在加载新标签之前从先前的请求中删除标签,我采取了以下步骤:

  1. 删除了标签(#tabs ul li),
  2. 删除标签内容(#tabs div)和
  3. 刷新了标签。

这是我使用的代码。为我工作。希望对你有效。

$('div#tabs ul li').remove();
$('div#tabs div').remove();
$("div#tabs").tabs("refresh");

我在网上找到的其他解决方案对我不起作用。

于 2013-04-17T13:04:05.813 回答
3

您应该能够从选择器中取消绑定选项卡。

$('#content').unbind();

编辑:

直接来自 jQuery 文档

.tabs( 'destroy' );

完全删除标签功能。这将使元素返回到它的预初始化状态。

于 2009-04-06T15:26:35.690 回答
2

您是否尝试添加带有非空 url 的选项卡?

$('#content').tabs( 'add' , 'non empty url' , data[i].nombre);

复制自官方文档(http://docs.jquery.com/UI/Tabs#method-add

.tabs( 'add' , url , label , [index] )

添加一个新选项卡。第二个参数要么是一个包含片段标识符的 URL,仅用于创建页内选项卡,要么是一个完整的 url(相对或绝对,不支持跨域),以将新选项卡转换为 Ajax(远程)选项卡。第三个是插入新标签的从零开始的位置。可选,默认情况下会在末尾附加一个新选项卡。

于 2009-04-06T15:49:36.180 回答