Question

J'essaie de trouver le numéro d'index du dernier élément de la liste, mais jQuery que j'utilise renvoie -1. Voici le JS et le code HTML que j'utilise.

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>

Merci de votre aide.

Était-ce utile?

La solution

Vous devez appeler index sur la collection en transmettant un sous-élément de cette collection.

var items = $('#imageThumbnails li');
var lastItem = $('#imageThumbnails li:last');
var index = items.index(lastItem);

Si vous êtes dans un gestionnaire de fonction de clic, vous pouvez faire quelque chose comme ceci:

var items = $('#imageThumbnails li').click(function() {
    var index = items.index(this);

    // now that I know where I am, why am I here?
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top