在事件中获取阵列中的当前位置?

Fre*_*tte 2 jquery

我有一个点击事件ul.随着$.inArray我想要得到的当前索引li.有了这个,我就可以为正确的div制作动画.我的标记是这样的:

<div class="nav">
    <ul>
        <li></li>
        <li></li>
    </ul>
</div>
<div class="sideways">
</div>
<div class="sideways">
</div>
Run Code Online (Sandbox Code Playgroud)

等等.你可以滑动"侧身"div,并且ul可以通过导航导航到div.现在我的代码看起来像这样:

$('.nav ul li').click(function(){
    $this = $(this);
    k = $.inArray($this, $('.nav ul li'));
});
Run Code Online (Sandbox Code Playgroud)

k总是返回-1.为什么会这样?为什么不返回当前指数?

Ale*_*har 5

如果你想点击索引,为什么你不使用.index()

$('.nav ul li').click(function () {
    alert($(this).index());
});
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)