jquery
  • jquery-selectors
  • 2010-10-11 16 views 21 likes 
    21

    Mam listę dynamiczną i muszę wybrać przed ostatnim elementem.selektor jquery przed ostatnim

    <ul class="album"> 
        <li id='li-1'></li> 
        <!-- ... --> 
        <li id='li-8'></li> 
        <li id='li-9'></li> 
        <li class='drop-placeholder'>drag your favorites here</li> 
    </ul> 
    
    var lastLiId = $(".album li:last").attr("id"); // minus one? 
    

    Odpowiedz

    59

    Można użyć .eq() o wartości ujemnej (-1 jest ostatni), aby uzyskać n od końca, tak:

    $(".album li").eq(-2).attr("id"); // gets "li-9" 
    

    You can test it here.

    +0

    aha, eq idzie negatywnie! – FFish

    +0

    @richsage - Robią :) "Podanie liczby ujemnej wskazuje na pozycję rozpoczynającą się od końca zbioru, a nie na początku", upewnij się, że patrzysz na ".eq()", a nie na ': eq() 'docs: http://api.jquery.com/eq/ –

    15

    Prawdopodobnie neater sposób, ale jak o:

    var lastLiId = $(".album li:last").prev("li").attr("id"); 
    
    Powiązane problemy