我在ul
上有点击事件。使用$.inArray
我想获得li
的当前索引。有了这个,我就可以为正确的div制作动画。我的标记是这样的:
<div class="nav">
<ul>
<li></li>
<li></li>
</ul>
</div>
<div class="sideways">
</div>
<div class="sideways">
</div>
等等。你可以滑过&#34;横向&#34; div和ul
可以通过导航导航到div。现在我的代码看起来像这样:
$('.nav ul li').click(function(){
$this = $(this);
k = $.inArray($this, $('.nav ul li'));
});
k总是返回-1。为什么会这样?为什么它不返回当前索引?
答案 0 :(得分:5)
如果您想点击索引,为什么不使用.index()?
$('.nav ul li').click(function () {
alert($(this).index());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="nav">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</div>
<div class="sideways"></div>
<div class="sideways"></div>
答案 1 :(得分:0)
如果我理解正确,你需要这样的东西:
var items = $('.nav ul li');
items.click(function(){
k = items.index(this);
});