那为什么呢?很困惑......谢谢!
$('#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 :(得分: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 强>
答案 1 :(得分: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);