2011-08-16 7 views
1

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要素のそれぞれにクラスとの最後のdivの「内部」を選択します。

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

これは理想的には3つの要素(各.testの最後の.inside)です。結果は次のようになります。

私はこれを行う方法がわかりません。どんな助けもありがとうございます。

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

使用して使用することができます

答えて

5

あなたが望むのは、最後の子セレクタです。単純に最後のセレクタではありません。彼は親.TESTの最後の子であるEVERY .insideを望んでいる

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

fiddle example

+0

ありがとうございます:) +1、5分で受け入れるでしょう。 – Chev

+0

途中で素晴らしいフィドル。あなたは私の最初のjQueryプラグインが動作するのを手伝った:[jQuery.coolType](http://jsfiddle.net/Chevex/GSe9U/13/) – Chev

2

jsFiddle:最後の要素を一致させるために '最後の' 疑似クラスを。 2番目のパラメータは、最初のセレクタに一致する要素の検索範囲を 'test'のクラスを持つdivだけにします。

+0

:これは、親の範囲内の最後の子であるすべての要素を返します。その区別については私の回答を見てください。 – maxedison

+0

それはまさに彼が自分のコードを手に入れたものです。上で説明したように、2番目のパラメータは最初のセレクタをスコープします。動作中のコンソールの結果を確認するには、フィドルのコンソール結果を確認します。 –

+0

はい、そうです。私は怠惰な読書をしていた。好奇心のために、あなたがしたスコープの種類を使用することに利点がありますか?私は、私の例がより構文的で書いやすいと主張したいと思います。 – maxedison

関連する問題