0

jQueryで「アクティブ」に等しいクラスセレクターでnth-childパラメーター値を取得するにはどうすればよいですか?

これが論理的かどうかはわかりませんが、nth-param 値で現在選択されている dd 要素のリストを特定したいと考えています。

このコードは、実際には Foundation の Vertical Tabs からの垂直タブのループです。

<dl class="vertical tabs">  
<?php foreach($tabs as $key):?>
    <dd id="ver_tab"><a href="javascript:void(0)" onclick="ajaxFunc('<?php echo ($key['group_name']) ?>')" id="ver_tab_a"><?php echo ucwords($key['group_name']);?></a></dd>        
<?php endforeach ?>
    <dd><a id="new_group_button" href="#new_group_form">+ New Group</a></dd>

動的に取得されたデータを含むタブのリストがあります。また、下部に新しいグループを追加する静的タブがあります。動的に生成されたタブからタブをクリックすると、値が「アクティブ」のクラスが追加されます。静的タブをクリックすると、モーダルが開き、モーダルをキャンセルすると(モーダルはFoundationのRevealにもあります)、静的タブをクリックする前に、選択したタブをアクティブなタブに戻す必要があります。

私のjQueryには次のものがあります:

$("#ver_tab:nth-child("+x+")").attr("class","active");

x が選択されたタブの n 番目の子である、以前に選択されたタブに戻ります。

本当にありがとう!

4

2 に答える 2

0

長い検索の結果、ようやくわかりました。

この答えは別のアプローチですが、それでも、現在選択しているタブのインデックス番号を特定する方法に関する私の問題は解決します。

これが私がしたことです。私の〜の上に:

<dd id="ver_tab"><a href="javascript:void(0)" onclick="ajaxFunc('<?php echo ($key['group_name']) ?>')" id="ver_tab_a"><?php echo ucwords($key['group_name']);?></a></dd>

私は別のパラメータを追加しました:

onclick="('<?php echo ($key['group_name']) ?>')"

したがって、次のようになります。

onclick="('$(this)','<?php echo ($key['group_name']) ?>')"

次に、私のajaxFuncで:

function ajaxFunc(x, group_name){
    var pos = x.closest("dd").index;
}

これで、pos変数に現在選択されているタブのインデックス値が含まれているはずです。

この投稿のおかげで、Jqueryインデックスは要素(-1)の間違った入力(ライブ関数を使用)を見つけることができません!時間を大幅に節約してください!

于 2012-09-20T07:45:01.857 に答える
0

.index()要素のを取得しようとしているようです.active:

$('dd.active').index('dd')
于 2012-09-17T09:39:53.847 に答える