tec*_*ant 16 arrays jquery class filter
我在页面上有多个音乐播放器,需要对它们做一个索引来拉出当前播放器的位置.问题是currentPlayer
不是孩子,所以使用.find
或.filter
然后.index
将始终返回值,0
因为数组中没有其他内容.
所以我需要.currentPlayer
在player
数组中找到索引.
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>
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
var player = $('.player'),
current = player.filter('.currentPlayer'),
index = current.index();
Run Code Online (Sandbox Code Playgroud)
Roc*_*mat 34
current.index()
将搜索其父元素.所以既然current
是独生子女,那就是零.
您可以将选择器传递给.index
; 它会告诉jQuery在里面搜索你的元素.
var player = $('.player'),
current = player.filter('.currentPlayer'),
index = current.index('.player');
Run Code Online (Sandbox Code Playgroud)
或者,您可以告诉jQuery在数组中搜索特定元素:
var player = $('.player'),
current = player.filter('.currentPlayer'),
index = player.index(current);
Run Code Online (Sandbox Code Playgroud)
你可能正在寻找
$('div.player').index($('.currentPlayer'))
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/hmartiro/3Wzbd/