2013-03-04 11 views

cevap

31

Sen jQuery.is işlevini kullanabilirsiniz:

Kontrolü bir selektör, eleman, veya jQuery nesnesi karşı elemanlarının akım eşleşti seti ve verilen argümanlar maçları bu elemanların en az birinin true döndürür.

if (selected_object.is(current_object)) { 
    ...  
} 

Alternatif bir çözüm çiğ öğelerini almak ve kullanarak bunları karşılaştırmak için jQuery.get fonksiyonunu kullanmaktır == veya === operatörü:

if (selected_object.get(0) == current_object.get(0)) { 
    ... 
} 

jsFiddle demo

3

sağlanan iyi bir yanıt var ... fakat jQuery'deki seçicileri neden doğrudan karşılaştırdığınızı anlamak önemlidir.

jQuery seçicileri, referans eşitliği anlamında asla eşit olmayacak veri yapıları döndürür. Yani bunu anlamanın tek yolu, DOM referansını jQuery nesnesinden almak ve DOM öğelerini karşılaştırmaktır.

Yukarıdaki örnek için DOM referans basit karşılaştırması olacaktır:

selected_object.[0] == current_object.[0] 
İlgili konular