index返回-1 jquery

时间:2011-09-03 21:06:05

标签: javascript 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>

2 个答案:

答案 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);