无法从jquery选项卡小部件中删除tabIndex

时间:2012-11-12 22:51:18

标签: javascript jquery tabwidget tabindex

我设置了一个简单的jquery选项卡小部件。它从两个选项卡开始,一个是错误1,一个是加号。单击加号会添加错误2选项卡。再次单击它会添加错误3选项卡。问题是我单击加号后无法从选项卡中删除选项卡索引。 RemoveAttr('tabIndex')适用于页面加载以保持第一个选项卡不具有索引,但在我单击加号后,我还没有找到从其余选项卡中删除选项卡索引的方法。我把removeAttr()放在.show()之后。我把它放在那条线之前。我尝试将它放入激活,加载,加载和创建。我试过设置tabindex = -1而不是removeattr()。我也尝试摆脱hide / show并使用css来显示/不显示。

$(document).ready(function(){    
$("#tabs").tabs({
        beforeActivate: function (event, ui) {
            if (ui.newTab.attr('id') == 'liTabsPlus') {
                event.preventDefault();
                errorTabsShowing += 1;
                $('#liTabs' + errorTabsShowing).show();
                $(this).tabs('option', 'active', errorTabsShowing - 1);
                if (errorTabsShowing == MAX_NUMBER_OF_ERRORS)
                    ui.newTab.hide();
            }
        }
    });

    $("#liTabs1").removeAttr("tabIndex");
    $("#liTabs2").hide();
    $("#liTabs3").hide();
    $("#liTabs4").hide();
}

1 个答案:

答案 0 :(得分:0)

很难说没有看到你的标记,但我通过循环遍历我的元素并将标签索引设置为-1来完成此操作。这是一个例子,所有标签都以“liTabs”开头,所以liTabs1,liTabs23等等。

$('[id^=liTabs]').each(function(){ this.tabIndex = -1; });

希望这有帮助