を取得するには、フィルタと最も近いを使用して:jQueryとJQM - 私はJQMはそれで行われ、HTMLの一片、このようになります(単純化)を持つインデックス
<div id="servicesList">
<div id="servicesHeader">Services</div>
<ul data-role="listview" class="ui-listview">
<li id="Serv1" class="serviceLink">Service 1</li>
</ul>
<ul data-role="listview" class="ui-listview">
<li id="Serv2" class="serviceLink">Service 2</li>
</ul>
</div>
このコードは、動的に別のから生成されますスクリプトの一部。
各サービスには、さらに多くのデータを動的に取り込むクリックイベントが付いています。理想的には、クリックされた時点でサービスのインデックスを参照できるようにしたいと考えています。オブジェクトの配列を引き込んservicesHeader div要素を含んでいるよう
$('.serviceLink').click(function() {
var index = $(this).closest("ul").index();
servAnimate(index);
});
もちろん、これは動作しません:ここに私の現在のコードです。親ウルスの配列だけを取得するにはどうすればいいですか?基本的に、ユーザーがService 1をクリックすると、返されるインデックスは1ではなく0になります。今すぐインデックス0はservicesHeader divを参照します。
また、私はこれを試してみた:
$(this).closest("ul").filter("ul").index();
任意の助けをいただければ幸いです!
EDIT:別の開発者のスクリプトによってHTMLが生成されていることを指定する必要があります。それは変わるかもしれない、それは同じままであるかもしれない。これまでの唯一の保証は、ULが同じレベルに留まり、クラスserviceLinkを持つということです。
もう一度、他の兄弟要素が存在するかどうかにかかわらず、親ULのインデックスを取得するにはどうすればよいですか?
私はマークアップを制御できませんが、ULは常に同じdivにあり、指定されたように、同じdivに配列が混乱する他の兄弟要素が存在する可能性があります。 –
問題が表示されます。 –
作業フィドルへのコードとリンクが追加されました。 –