jQuery从数组中获取元素的索引位置

我有一个页面上有多个音乐播放器,需要制作一个索引来拉出当前播放器的位置。问题是currentPlayer不是一个小孩,所以使用.find或.filter然后.index将始终返回值为0,因为数组中没有其他的。

所以我需要在播放器阵列中找到.currentPlayer的索引。

HTML(非常简化):

<ul>
    <li>
        <article>
             <div class="player"></div>
        </article>
    </li>
    <li>
        <article>
             <div class="player currentPlayer"></div>
        </article>
    </li>
    <li>
        <article>
             <div class="player"></div>
        </article>
    </li>
</ul>

JavaScript的:

var player  = $('.player'),current = player.filter('.currentPlayer'),index = current.index();

解决方法

current.index()将搜索其父元素的元素。所以,因为现在是唯一的孩子,它是零。

您可以将选择器传递给.index;它会告诉jQuery在里面搜索你的元素。

var player  = $('.player'),index = current.index('.player');

或者,您可以告诉jQuery在数组中搜索特定的元素:

var player  = $('.player'),index = player.index(current);

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...