删除JQuery UI选项卡

时间:2010-08-19 11:30:35

标签: jquery jquery-ui

我试图使用一些(简单)代码来删除我动态创建的JQuery UI选项卡。不幸的是,它没有合作。

这是我正在使用的javascript方法:

    function removeTab(tabName) {

        var tabIndex = -1;
        $('#tabbedPanel > ul > li > a').each(
                function(i) {
                    if (this.href == tabName) {
                        tabIndex = i;
                    }
                });

        $('#tabbedPanel').tabs("remove", tabIndex);

    }

不幸的是,我得到的只是“对象不支持此属性或方法”。我确定标签索引是正确的。

有任何帮助吗?

2 个答案:

答案 0 :(得分:1)

很高兴你得到了它的工作。

一个建议 - 您可以使用选项卡API找出选项卡的选定索引并将其删除更轻松,而不是循环显示选项卡。

这是我放在一起的fiddle(使用带有一些增强功能的jQueryUI演示标签)。

关键部分是使用'selected'选项。我有一个按钮,单击该按钮将提醒选定的选项卡索引...

$("#get_index").click(function(e) {
    e.preventDefault();
    alert("Selected tab index = " + $("#tabs").tabs("option", "selected"));
});

我有一个不同的按钮,单击该按钮将获得所选索引,然后使用“删除”选项删除该选项卡。这样您就不必匹配href名称......

$("#remove_selected").click(function(e) {
    e.preventDefault();
    var selIndex = $("#tabs").tabs("option", "selected");
    $("#tabs").tabs("remove", selIndex);
});

即使你解决了问题,我还以为我会分享这个问题。希望它有所帮助!!

答案 1 :(得分:0)

这是一个DOM问题。正在加载的jsp片段中包含head和body标记。我没有立即抓住它,因为紧接在它上面的addTab()方法工作正常。