2011-10-28 84 views
0

我有這樣一個DIV:JQUERY +是否有任何兒童DIV的

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

有時有小孩DIV的上述DIV中,有時不是。 我需要一種方法來檢查「containerContent」DIV內是否存在子DIV,以便我可以執行操作。

我已經試過這失敗:

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

THX

回答

2

jQuery的children()方法返回一個jQuery對象,這將始終評估爲true。使用length屬性來確定對象中包含的元素的數量。

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

不應該是如果($('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 
} 

注意,這將檢查所有後代元素,而不僅僅是眼前的孩子。