根据 jquery-ui 1.9 选项卡的升级指南 - http://jqueryui.com/upgrade-guide/1.9/#deprecated-add-and-remove-methods-and-events-use-refresh-method - 添加新的动态选项卡,您只需要执行以下操作:
HTML:
<div id='tabs'>
<ul>
<li><a href='#tab1'>#1</a></li>
</ul>
<div id='tab1'></div>
</div>
<button id='add-tab'>Add tab</button>
JavaScript:
$(document).ready(function() {
$("div#tabs").tabs();
$("button#add-tab").click(function() {
var num_tabs = $("div#tabs ul li").length + 1;
$("div#tabs ul").append(
"<li><a href='#tab" + num_tabs + "'>#" + num_tabs + "</a></li>"
);
$("div#tabs").tabs("refresh");
});
});
但是,当我尝试在新创建的选项卡之间进行更改时,我在 firebug 中收到以下错误:
jQuery UI 选项卡:片段标识符不匹配。
如果我理解正确,则此错误意味着未创建实际的选项卡面板(因此导航面板和选项卡面板之间不匹配)。但是升级指南没有提到创建标签面板。
所以我假设要么我做错了,要么升级指南不完整。请澄清。
有趣的是,在删除选项卡时,升级指南说您必须从导航面板和选项卡面板中显式删除列表项,所以我想知道这是否同样适用于添加选项卡。