更改jquery ui选项卡内的链接

时间:2017-04-25 01:41:37

标签: jquery-ui

我正在尝试更改jquery选项卡中的链接文本但我得到空值。

$.fn.addEditorTab = function(name, tabName, contents) {
            $('ul', this).append('<li title="' + name + '"><a href="#tab-' + name + '">' + tabName + '</a><span class="ui-icon ui-icon-close" role="presentation"></li>');
            $(this).append("<div id='tab-" + name + "'><div id='editor-" + name + "' class='editor'></div></div>");
            $(this).tabs("refresh");

            var selectedTabTitle = $("a#fileTabs .ui-tabs-active").text();
            alert(selectedTabTitle); // empty string
}

我知道我可以获得.ui-tabs-active文本,因为它会回来,但是#我认为它会获得锚标记,但看起来却没有。我不知道如何在选项卡中获取锚标记。

[编辑] 我已经能够做到以下但我不喜欢它:

var selectedTabTitle = $("#fileTabs .ui-tabs-active").text();
var selectedTabHtml = $("#fileTabs .ui-tabs-active").html();
$("#fileTabs .ui-tabs-active").html(selectedTabHtml.replace(">" + selectedTabTitle, ">*" + selectedTabTitle));

1 个答案:

答案 0 :(得分:1)

根据你的代码。我看到你正在生成动态标签。 此元素$("a#fileTabs .ui-tabs-active")不存在。 您的所有标签均未激活。 您需要先激活选项卡。 您可以使用此代码验证它是否存在活动选项卡

console.log($("a#fileTabs .ui-tabs-active").length)

<强>更新

更新了需求获取/设置/编辑的答案,以更改标签的元素文本而不更改其子元素

http://jsbin.com/kusujetaka/1/edit?html,js,output