jQuery - 查找最后一次出现的元素

时间:2012-09-12 08:27:44

标签: jquery jquery-selectors css-selectors

我有以下HTMl结构,我无法改变。

<div class="X">
    <ul>
        <li><a><img></a></li>
        <li><a><img></a></li>
        <li><a><img></a></li>
        <li><a><img></a></li>
        <li><a><img></a></li>
        <li><a><img></a></li>
        <li><a><img></a></li>
        <li><a><img></a></li>
        <li><a><img></a></li>
        <li><a><img></a></li>
    </ul>
</div>

礼品的数量各不相同。我想从后面选择第n个元素并修改img src。

这是我到目前为止所做的:

$('div.X').find('img').css('background-color', 'red');

我需要一些方法来遍历.find的结果,然后以某种方式选择第n个最后一个元素。我在想我应该以某种方式反转列表,以便我可以使用nth-child()选择器。

我发现了其他各种相关的问题,但我还没弄清楚如何解决这个问题。

任何帮助都很受欢迎。

2 个答案:

答案 0 :(得分:0)

$('div.X img:eq(' + ($('div.X img').length - n) + ')')

n,你想要多少回来。

注意我使用:eq()而非:nth-child() - 它们不相同。

注2:此处可能存在一个错误的错误,因此请务必进行测试。

答案 1 :(得分:0)

你去...... http://jsfiddle.net/bYaRx/

我可能对实施有点过分了。我在工作中很无聊。这是获取正确img标记的相关jQuery:

var $img = $('.X img');
$img.filter(':eq('+($img .length - (n+1))+')');