【问题标题】:Find span tag inside jquery tab and return that index在 jquery 选项卡中查找 span 标签并返回该索引
【发布时间】:2012-08-14 02:29:43
【问题描述】:

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

示例::

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

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

任何帮助将不胜感激。

谢谢

【问题讨论】:

  • 您需要发布一些您尝试过的代码!

标签: javascript jquery jquery-ui


【解决方案1】:

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

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

jsFiddle DEMO

【讨论】:

    【解决方案2】:
    $('[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');
           }  
    
    });
    

    【讨论】:

      【解决方案3】:

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

      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() method 并按照自己的方式实现。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-03
        • 1970-01-01
        • 1970-01-01
        • 2022-08-18
        相关资源
        最近更新 更多