2011-09-03 61 views
3

那么为什么这样呢?非常困惑...谢谢!索引返回-1 jquery

$('#navigation ul li a:first').index($('#navigation ul li a')) >> returns 0 expect 0

$('#navigation ul li a:last').index($('#navigation ul li a')) >> returns -1 expect 19

$('#navigation ul li a').eq(2).index($('#navigation ul li a')) >> returns -1 expect 2

更新:这里有一些HTML,这是我的分页代码:

 <div id="navigation"> 
      <ul> 
       <li><a class="current" href="#1-1">1</a></li> 
       <li><a class="" href="#1-2">2</a></li> 
       <li><a class="" href="#1-3">3</a></li> 
       <li><a class="" href="#1-4">4</a></li> 
       <li><a class="" href="#1-5">5</a></li> 
       <li><a class="" href="#1-6">6</a></li> 
       <li><a class="" href="#1-7">7</a></li> 
       <li><a class="" href="#1-8">8</a></li> 
       <li><a class="" href="#1-9">9</a></li> 
       <li><a class="" href="#1-10">10</a></li> 
       <li><a class="" href="#1-11">11</a></li> 
       <li><a class="" href="#1-12">12</a></li> 
       <li><a class="" href="#1-13">13</a></li> 
       <li><a class="" href="#1-14">14</a></li> 
       <li><a class="" href="#1-15">15</a></li> 
       <li><a class="" href="#1-16">16</a></li> 
       <li><a class="" href="#1-17">17</a></li> 
       <li><a class="" href="#1-18">18</a></li> 
       <li><a class="" href="#1-19">19</a></li> 
       <li><a class="" href="#1-20">20</a></li>     
      </ul> 
     </div> 
+0

你需要给一点更多比...一些代码也许...和一些HTML ... – Nayish

+0

你可以张贴在jsfiddle.net? – arnaud576875

+3

您对错误的数组调用'index':它返回您调用'index'的数组中元素的索引。 –

回答

8

你需要扭转你的选择:

alert($('#navigation ul li a').index($('#navigation ul li a:first'))); // 0 
alert($('#navigation ul li a').index($('#navigation ul li a:last'))); // 19 
alert($('#navigation ul li a').index($('#navigation ul li a').eq(2))); // 2 

SEE DEMO

+0

作品。谢谢!:) – randomor

+0

@randomor:不客气:) – Sarfraz

3

-1意味着元素没有被index()

发现

尝试索引列表中的项目,而不是锚,因为它们是在同一水平上

var listItems = $('#navigation ul li'); 

$('#navigation ul li:first').index(listItems); 
$('#navigation ul li:last').index(listItems); 
$('#navigation ul li').eq(2).index(listItems); 
+0

'$('#navigation ul li:last')。index )返回-1期望的19':(也做了'$ all = $('navigation ul li'); $('navigation ul li:last')。index($ all)>>返回-1期望的19' – randomor