Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

index returning -1 jquery

So why is this? Very confused...Thanks!

$('#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

UPDATE: here are some html, it's my pagination code:

        <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>
like image 595
randomor Avatar asked Aug 02 '26 14:08

randomor


2 Answers

You need to reverse your selectors:

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

like image 117
Sarfraz Avatar answered Aug 04 '26 04:08

Sarfraz


-1 means that element wasn't found by index()

try indexing the list items instead of anchors as they are on the same level

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

$('#navigation ul li:first').index(listItems);  
$('#navigation ul li:last').index(listItems);   
$('#navigation ul li').eq(2).index(listItems);
like image 25
mreq Avatar answered Aug 04 '26 02:08

mreq



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!