0

使用我的代码我得到-1......我应该得到 2 。

我需要在不考虑 div 标签的情况下获得一个liwith 类的位置focusul<div class="clm-XXXX">

我应该如何更改我的代码?请注意(我无法更改 HTML 结构)。

http://jsfiddle.net/4bJtr/3/

   <div class="snippet-content">
<ul class="layout-1">
    <div class="clm-1">
        <li>content 1</li>
    </div>
    <div class="clm-1">
        <li>content 2</li>
        <li class="focus">content 3</li>
        <li>content 4</li>
        <li>content 5</li>
    </div>
    <div class="clm-3">
        <li>content 6</li>
        <li>content 7</li>
    </div>
</ul>

4

2 回答 2

6

这不是好的 html,但这是您的解决方案:

http://jsfiddle.net/e7rru/

var result = $('.snippet-content li').index($('.focus'));

您的原始选择器 ( '.snippet-content ul > li.focus') 没有选择任何开始,因为li元素正下方没有ul元素(即使它们应该是......),

此外,要使用index(),您需要发送一个参数,指定您想要索引的元素。根据文档index('.focus') 应该可以工作,但由于某种原因,在这种情况下它不是。

于 2013-08-21T12:59:14.523 回答
0
var result = $('ul li.focus').index($('.focus'));

/*and index start from 0 not to 1

if you get one it means it is in 2nd position*/

参考指数

于 2013-08-21T13:02:33.140 回答