2

我正在使用 jquery 选项卡 UI 来创建我的选项卡。我在每个选项卡中隐藏了具有唯一值的 span 标签。我想找到具有特定标签索引值的跨度标签。

例子::

如果有两个选项卡 tab1 和 tab2。在 tab1 中,我隐藏值“1”,在 tab 2 中隐藏值“2”。现在我想在所有选项卡中搜索并找到 1 并返回索引号,在这种情况下它将为 0。然后它将打开索引为“0”的选项卡。

我可以使用 jquery 包含函数来搜索 thorugh 列表,但我只是想知道找到匹配项时如何返回选项卡的特定索引。

任何帮助将不胜感激。

谢谢

4

3 回答 3

2

但基本上你可以使用$.each()方法(jQuery .each() API。在函数参数中,i代表您可以循环的索引。

$('[id^="tab"]').each(function (i, el) {
    $(this).append(' -- Index: ' + i);
});

jsFiddle 演示

于 2012-08-14T02:37:45.637 回答
0
$('[id^="tab"]').click(function(){

alert($(this).find('span').text());

});



$('[id^="tab"]').each(function (i, el) {

       var span_val = $(this).find('span').text(); 

       if(span_val==1)
       {
          $('[id^="tab"]').eq(span_val).trigger('click');
       }  

});
于 2012-08-14T02:58:52.193 回答
0

如果每个选项卡只有一个跨度,您可以找到这样的索引(不是最短的方法,但应该可以):

var tabMenu = $('#yourTabMenuId');
var allTabMenuSpans = tabMenu.find('span');
var spanMatch = allTabMenuSpans.filter(":contains('1')");
var desiredIndex = allTabMenuSpans.index(spanMatch);
alert('your index is: ' + desiredIndex);

或者您可以查找jquery的index() 方法并以您的方式实现它。

于 2012-08-14T05:37:25.993 回答