Jqueryを使用してリストアイテムのインデックスを取得する
-
06-07-2019 - |
質問
最後のリスト項目のインデックス番号を見つけようとしていますが、使用しているjqueryは-1を返し続けます。これは私が使用しているJSとhtmlです。
var index = $('#imageThumbnails li:last').index(this);
<div id="imageThumbnails">
<ul class="gallery_demo_unstyled">
<li class="active"><img src="test-img.jpg" width="394" height="394" alt=" " /></li>
<li><img src="test-img2.jpg" width="394" height="394" alt=" " /></li>
<li><img src="test-img3.jpg" width="394" height="394" alt=" " /></li>
<li><img src="test-img4.jpg" width="394" height="394" alt=" " /></li>
<li><img src="test-img5.jpg" width="394" height="394" alt=" " /></li>
<li><img src="test-img6.jpg" width="394" height="394" alt=" " /></li>
<li><img src="test-img7.jpg" width="394" height="394" alt=" " /></li>
</ul>
</div>
ご協力ありがとうございます。
解決
コレクションのインデックスを呼び出して、そのコレクションのサブアイテムを渡す必要があります。
var items = $('#imageThumbnails li');
var lastItem = $('#imageThumbnails li:last');
var index = items.index(lastItem);
クリック関数ハンドラを使用している場合、次のようなことができます:
var items = $('#imageThumbnails li').click(function() {
var index = items.index(this);
// now that I know where I am, why am I here?
});
所属していません StackOverflow