1

一个想法是,也许我应该创建一个数组,然后 .each() 所有选项卡以我想要的方式创建引用,但似乎已经有一种方法可以做到这一点,我只是可能不知道范围或语法。

例如,我有 $tabs.tabs() 并且我想更改给定索引的 AJAX URL 和标题,例如:

for (var x = index; x < (tab_counter - 1); x++) {  
    $tabs.tabs(x).text(!!$tabs.tabs(x + 1).text() ? $tabs.tabs(x + 1).text() : "Deleted");
    //is there a syntax to refer to tabs in this manner?
}

$tabs 已初始化为 var $tabs = $("#pages").tabs( ...

假设 tab_counter 保持最新(它在添加和删除事件中递增和递减) - 如果我按照建议的方式尝试例如为了循环所有选项卡标题。语法中有什么我在这里遗漏的吗?eq() 似乎是正确的解决方案,但我怀疑我没有正确使用它。

for (var x = 0; x < (tab_counter - 1); x++) {
 console.log($tabs.tabs.eq(x).text() + " @ index " + x);
}

解决方案

$tabis = $('#pages ul li a');

for (var x = 0; x < tab_counter; x++) {  
  console.log($tabis.eq(x).text() + " at " + x);
}

/* Prints the text label of each tab within the selected list of tabs. */

感谢您的帮助 dbaseman 这正是我想要的。我在这个过程中学到了,所以我很感激

4

3 回答 3

0

也许使用eq ?

$tabs.eq(x).text( ... )
于 2012-06-13T03:04:02.553 回答
0

这些选项卡都具有id您可以选择的一致命名的属性。

于 2012-06-13T03:04:56.490 回答
0

一种解决方案是让您拥有从每个选项卡的 ID 返回对象的函数:

$tabs.tabs = function (index) {
        return $("#tab" + index);
}

这假设您的选项卡具有“tab0”、“tab1”等 ID,但它可以与任何 ID 一起使用。

于 2012-06-13T03:12:07.107 回答