2011-09-03 94 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