如何获取包含其他元素中某个元素的最后一个的包装集?

问题描述 投票:1回答:2

在jQuery中,我想获取一组元素中的某个元素的最后一个。例如,我有这些带孩子的DIV:

<div class="test">
    <div class="inside">
    </div>
    <div class="inside">
    </div>
    <div class="inside">
    </div>
</div>
<div class="test">
    <div class="inside">
    </div>
    <div class="inside">
    </div>
    <div class="inside">
    </div>
</div>
<div class="test">
    <div class="inside">
    </div>
    <div class="inside">
    </div>
    <div class="inside">
    </div>
</div>

我想在每个具有“test”类的div中选择带有“inside”类的最后一个div。像这样的东西:

var customWrappedSet;
$('.test').each(function()
{
    customWrappedSet.add($(this).find('.inside').last());
});
customWrappedSet.text('hello');

理想情况下,这将是三个元素(每个.test中的最后一个.inside)。结果如下所示:

<div class="test">
    <div class="inside">
    </div>
    <div class="inside">
    </div>
    <div class="inside">
        hello
    </div>
</div>
<div class="test">
    <div class="inside">
    </div>
    <div class="inside">
    </div>
    <div class="inside">
        hello
    </div>
</div>
<div class="test">
    <div class="inside">
    </div>
    <div class="inside">
    </div>
    <div class="inside">
        hello
    </div>
</div>

我不知道该怎么做。

jquery html jquery-selectors wrapper
2个回答
5
投票

你想要的是最后一个子选择器,而不是简单的持久。这将返回其父级中最后一个子元素的每个元素:

$('.test .inside:last-child');

fiddle example


2
投票

jsFiddle

$('div.inside:last', 'div.test');

使用可以使用':last'伪类来匹配最后一个元素。这里的第二个参数将搜索与第一个选择器匹配的元素仅限于具有“test”类的div。

© www.soinside.com 2019 - 2024. All rights reserved.