2017-04-25 47 views
0

我試圖更改jquery選項卡中的鏈接文本,但我得到空值。更改鏈接裏面的jquery ui選項卡

$.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-標籤活性文本沿着它回來,但一#我以爲會得到錨標記,但看起來事實並非如此。我不確定如何在選項卡中獲取錨標籤。

[編輯] 我已經能夠做到以下幾點,但我不喜歡它:

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

回答

1

根據你的代碼。我看到你正在生成動態標籤。 此元素$("a#fileTabs .ui-tabs-active")不存在。 您的選項卡沒有活動。 您需要先激活您的選項卡。 您可以通過使用此代碼驗證檢查活動標籤存在

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

更新

更新的答案與要求獲取/設置/編輯更改標籤的元素的文本,而不改變它的子元素

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

+0

請假設選項卡已被激活,因爲它是。這是碎片化的代碼,但這個想法是重要的。使用活動標籤如何獲取/設置它的錨文本。 – user441521

+0

嗯。有點奇怪 。我仍然可以得到的文本..這是我做的示例代碼http://jsbin.com/nekerefuvi/3/edit?html,js,output – ToujouAya

+0

示例代碼:http://jsbin.com/nekerefuvi/3/edit ?html,js,輸出 – ToujouAya

相關問題