2010-05-20 11 views

cevap

159

$('#idThatDoesnotexist').length aradığınız budur. (. Hiçbir şey bulursa, bu === 0 olacak) Yani koşullu deyim muhtemelen olmalıdır:

if($('#id').length) { /* code if found */ } else { /* code if not found */ }

jQuery (neredeyse) her zaman "jQuery nesnesi" döndürür çünkü bir nesne o uyarıdan döndü alıyoruz jQuery öğesinin, yöntem zincirlemesine izin veren öğeleri için bir sarıcı olduğunu kullanın.

+3

Sıfıra ihtiyacınız yok, $ ('# id') uzunluğu yeterlidir (sıfır == false in javascript) – David

+10

@David, _Need_ yapmadığınız gerçeği gereksiz yere gereksiz kılmaz, İlk bakışta IMO daha açık hale getirir. – Abir

+1

@Abir: Sadece sözdizimine alışkın olana kadar açıklık kazandırır, açıklıktan ziyade hakikati sınamak için. <== 0 olmadan sözdizimine alışmanızı öneririm. her yerde. –

23

Futuraprime doğru ama aşağıdakileri yaparak sözdizimi kısaltabilirsiniz: eleman varsa ve yanlış varsa bunları yapmazsa bu durum geçerlidir dönecektir

if ($("#id").length) { 
    //at least one element was found 
} else { 
    //no elements found 
} 
8
!$.isEmptyObject($.find('#id')) 

.

5
$('#my_selector').length > 0 
$('#my_selector').get(0) !== undefined 
$('#my_selector')[0] !== undefined 

Bu temel, şimdi ne yapmak istiyorsan onu yap.