jquery selector before-last

2019-02-11 12:11发布

问题:

I have a dynamic list and need to select the before last item.

<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?

回答1:

You can use .eq() with a negative value (-1 is last) to get n from the end, like this:

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

You can test it here.



回答2:

Probably a neater way but how about:

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