2

タブの作成に jquery タブ UI を使用しています。各タブで一意の値を持つ span タグを非表示にしました。特定のタブ インデックスの値を持つ span タグを見つけたいと思います。

例::

tab1 と tab2 の 2 つのタブがある場合。タブ1では値「1」を非表示にし、タブ2では値「2」を非表示にします。ここで、すべてのタブを検索して 1 を見つけ、この場合は 0 になるインデックス番号を返します。次に、インデックス '0' でそのタブを開きます。

リストを検索するためにjqueryのcontain関数を使用できますが、一致が見つかったときにタブの特定のインデックスを返すにはどうすればよいのでしょうか。

どんな助けでも大歓迎です。

ありがとう

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

すべてのタブにスパンが 1 つしかない場合、次のようなインデックスを見つけることができます (最短の方法ではありませんが、機能するはずです)。

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 に答える