2010-10-09 148 views
13

我有一個div,可能有一個帶有回覆ID的超鏈接。我如何檢查a[id=reply]是否存在?我認爲它可能是這樣的,但即使該超鏈接不存在,它也會提示消息。如何檢查孩子是否存在

if($('div[chunk_id='+reply_chunk_id+']').children('a[id=reply]')){    
    alert('test'); 
} 

回答

27

檢查選擇,看看它有多少個元素相匹配,在這種情況下的.length

if($("#reply").length) { 
    //child exists 
} 

然而,聽起來像你有id="reply",這是無效的多個元素。相反,使用class="reply"和你的選擇會是這樣的:

if($("div[chunk_id='"+reply_chunk_id+"'] > a.reply").length){ 
    //child exists 
} 
+0

+1,贏得了26秒:Ø編輯失蹤報價。 – Matchu 2010-10-09 16:57:05

+0

@Scarface - 你應該使用一個類,而不是...一個ID應該每頁只出現一次。 – 2010-10-09 16:58:27

+0

非常感謝Nick照例,欣賞它 – Scarface 2010-10-09 16:58:42

4

另一種方式來做到這一點:

if($("div[chunk_id="+reply_chunk_id+"]").children('.reply').length > 0){ 
    // it exists 
} 
+0

在這裏,我們搜索**'.reply'類的任何**孩子,就像OP問的那樣,不僅是所選答案中的第一級孩子。 – 2016-08-05 14:15:34