2010-10-09 41 views
13

Potansiyel olarak yanıt kimliği olan bir köprüye sahip olabilecek bir div'um var. a[id=reply]'un var olup olmadığını nasıl kontrol edebilirim? Bunun gibi bir şey olabileceğini düşündüm ama bu köprü olmasa bile mesajı uyarır.Çocuğun var olup olmadığını nasıl kontrol edebilirim?

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

cevap

27

Kontrol Bu durumda, eşleşti kaç unsurlar görmek için seçicinin .length: Eğer geçersiz id="reply" ile birden çok öğeyi var gibi

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

Ancak geliyor. Bunun yerine class="reply" kullanmak ve seçici aşağıdaki gibi görünecektir:

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

+1 kazandı 26 saniye: Düzenlendi o alıntı eksik. – Matchu

+0

@Scarface - Bunun yerine bir sınıf kullanmalısınız ... Kimlik, sayfa başına yalnızca bir kez görünmelidir. –

+0

çok teşekkürler Nick her zamanki gibi, minnettarım – Scarface

4

bir başka yolu bunu yapmak için:

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

Burada ** herhangi bir ** sınıfının “.reply” çocuğunu, OP'nin sorduğu gibi, sadece birinci düzeydeki çocukları seçilen cevapta olduğu gibi değil. –

İlgili konular