2011-12-23 10 views

答えて

4

セレクタ:hasを使用してください。

$('.outer:has(.bar)') 

jsFiddle

これは、祖先outerを持つbarのクラスを持つすべての要素を選択します。

$('.outer')で選択されたコレクションへの参照がある場合、filter():hasという子要素を持たないものを削除できます。

jsFiddle。あなたはbarへの参照を持っており、それが.outer祖先を持っているかどうかを知りたい場合は、あなたができる

...

!!$('.bar:first').closest('.outer').length 

jsFiddle

+0

を取ります理由はここに説明:http://api.jquery.com/has-selector/ –

+0

もし 'var outer = $( '。outer');'のような変数にコンテナを設定すると、 for(var key in outer){stickyDiv [key]}、セレクタを見つけてそこに追加するか、簡単な方法がありますか?私はできるだけモジュラー化しようとしています。 –

2
if($("div.outer div.bar").length > 0){ 
    //code here 
} 
2

私はあなただけあなたができるouter一つのクラスがあります:擬似セレクタを持っています。

if($('.outer > .bar').length) { 
    // contains the .foo div 
} 
1

子供の方法を持っている代わりに使用することを検討してくださいセレクタ

$('.outer').children('.bar').length > 0 
関連する問題