1

我有以下 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>

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

这是我到目前为止所拥有的:

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

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

我发现了各种其他与第 n 个相关的问题,但我无法弄清楚如何解决这个问题。

任何帮助都非常受欢迎。

4

2 回答 2

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

n想要多少回来。

注意我:eq()没有使用:nth-child()- 它们不一样。

注意2:这里可能有一个错误,所以一定要测试它。

于 2012-09-12T08:31:41.120 回答
0

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

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

var $img = $('.X img');
$img.filter(':eq('+($img .length - (n+1))+')');
于 2012-09-12T10:26:59.630 回答