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



我有一个简单的jquery选项卡小部件设置。它以两个选项卡开始,一个是错误 1,一个是加号。单击加号将添加错误 2 选项卡。再次单击它会增加错误 3 选项卡。问题是单击加号后我无法从选项卡中删除选项卡索引。RemoveAttr('tabIndex') 在页面加载时工作以防止第一个选项卡具有索引,但是在我单击加号后,我还没有找到从其余选项卡中删除选项卡索引的方法。我把removeAttr()放在.show()之后。我把它放在那行之前。我尝试将其置于激活、加载、加载前和创建中。我试过设置 tabindex=-1 而不是 removeattr()。我也尝试摆脱隐藏/显示并使用 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 来做到这一点。这将是对所有以"liTabs"的ID开头的选项卡执行此操作的示例,因此liTabs1,liTabs23等。

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

希望这有帮助

相关内容

  • 没有找到相关文章

最新更新