Как получить упакованный набор, содержащий последний из определенного элемента в других элементах? - PullRequest
1 голос
/ 17 августа 2011

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

Я хочу выбрать последний div с классом "inside" в каждом из div с классом "test". Примерно так:

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

В идеале это должны быть три элемента (последний .inside в каждом .test). Результат будет выглядеть так:

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

Я не уверен, как это сделать.

Ответы [ 2 ]

5 голосов
/ 17 августа 2011

То, что вы хотите, это выбор последнего ребенка, а не просто последний. Это вернет каждый элемент, который является последним дочерним элементом в его родительском элементе:

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

пример скрипки

2 голосов
/ 17 августа 2011

jsFiddle

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

Использование может использовать псевдокласс ': last', чтобы соответствовать последнему элементу. Второй параметр здесь ограничивает поиск элементов, соответствующих первому селектору, только элементам div с классом 'test'.

...