2010-04-26 2 views
6

Bu neden başarısız oluyor belirli bir sınıfın * olmadanjQuery: ...

$('div.contactAperson input').not('input.hadFocus').focus(function() { 
    $(this).attr('value', ''); 
}); 

unsurları * nasıl bulunur ... girdi sınıf .hadFocus yokolduğunu ve daha sonra koklayarak için yaratılmış Bu alt kümeden biri odak aldığında, değeri null olarak zap olmalıdır.

Şu anda, giriş değerleri her zaman zaptediliyor - test .not ('input.hadFocus') yürütmeyi durdurmakta başarısız oluyor.

Btw, yukarıdaki kodu önceki iyi çalışıyor Aşağıdaki kod vardır: Herhangi bir zeka için

$('div.contactAperson input').focus(function() { 
    $(this).addClass('hadFocus'); 
}); 

Teşekkür - şerefe,

+0

Yinelenen:

böyle bir şey deneyin [I jQuery belirli bir sınıfın olmadan tüm öğeleri seçebilirsiniz nasıl?] (http://stackoverflow.com/questions/2448051) – hippietrail

cevap

4
$('div.contactAperson > :input').not(':input.hadFocus').focus(function() { 
    $(this).attr('value', ''); 
}); 

-AIan iyi şanslar

+0

Tks, bilmiyorum neden bu sürüm hiç bir zaman değeri temizlemez. Ama kod önerisi için tks, ben o anda kazıp çizmeye devam edeceğim ... – Alan

5

Sen işleyiciye, o andaki durumuna bağlı olarak çalışmasını sağlayın - , bağlı olduğunda durum değil. Muhtemelen bir live bağlamanız gerekir. arasında

$('div.contactAperson input:not(.hadFocus)').live('focus', function() { 
    $(this).attr('value', ''); 
}); 
+0

Teşekkürler, böyle olacak. Şimdi bununla ilgili projeyi bulmalıyız. Şerefe -Alan – Alan