2011-10-28 11 views
0

あります。たまに子DIVの上のDIV内で、時にはではないがありますjQueryの+私はこのようなDIV持っているすべての子供DIVの

<div id="containerContent"></div> 

を。 "containerContent" DIV内に子のDIVがないかどうかを確認する方法が必要です。その場合、アクションを実行できます。

私は失敗し、これを試してみた:

if(!$('div#containerContent').children('div')) { 
     alert('missing'); 
} 

THX

答えて

2

jQueryのchildren()メソッドは常にtrueに評価するjQueryオブジェクトを返します。 lengthプロパティを使用して、オブジェクト内に含まれる要素の数を判断します。

if(!$('div#containerContent').children('div').length) { 
    alert('missing'); 
} 
+0

それはif($( 'div#containerContent')。children( 'div')。length> 0)ならば、 –

+0

@MartijnBいいえ、それはOPが望んでいるものとは逆でしょう。 'length'が0の場合、開始時の否定('! ')は' alert() 'に分岐します。 – Phil

+0

あなたが正しいと申し訳ありませんが、私は間違って読んで、(!0){}は可能。 +1私を目覚めさせて、何か新しいことを学ぶため。 –

1

これを試してみてください:これはすべての子孫の要素だけでなく、直接の子をチェックすること

var container = $('#containerContent'); 
if (!container.is(':has(div)')) { 
    // missing 
} 

注意を。

関連する問題