如何在包含div的ul中使用jquery索引?

Gib*_*boK 0 html javascript jquery

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

我需要在不考虑div标签之lifocusul情况下获取类的位置<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>
Run Code Online (Sandbox Code Playgroud)

Jas*_*n P 6

这不是很好的HTML,但这是你的解决方案:

http://jsfiddle.net/e7rru/

var result = $('.snippet-content li').index($('.focus'));
Run Code Online (Sandbox Code Playgroud)

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

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

  • 虽然它可以用`.index('.focus')缩短;但是` (2认同)
  • @RoryMcCrossan我也这么认为,甚至去[文档](http://api.jquery.com/index/)确认,但这不是出于某种原因:http://jsfiddle.net/zcb3n / (2认同)