2010-04-26 3 views
6

왜이 실패하는 특정 클래스 *없이jQuery를이 ...

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

을 요소 *를 찾는 방법 ... 입력의 클래스 .hadFocus 없어한 그 다음을 냄새를 의미하는 것 해당 하위 집합 중 하나가 포커스를 받으면 값을 null로 설정해야합니다.

지금은 입력 값이 항상 압축되어 있습니다. 테스트 .not ('input.hadFocus')이 실행을 중지하지 못했습니다.

, BTW 위의 코드를 이전하는 것은 잘 작동 다음 코드입니다 : 어떤 영리를위한

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

감사합니다 - 환호,

+0

중복 :

같은 것을 시도 [내가 jQuery를에 지정된 클래스가없는 모든 요소를 ​​선택할 수있는 방법은?] (http://stackoverflow.com/questions/2448051) – hippietrail

답변

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

-Alan 행운

+0

TKS, 몰라 왜이 버전은 결코 가치를 지우지 못합니다. 그러나 코드 제안을위한 tks, 나는 그것을 긁어 버릴거야 ... – Alan

5

당신 요소의 현재 상태 ( )가 바운드 된 상태가 아닌지를 기반으로 실행되도록 처리기가 필요합니다. 아마도 live 바인딩을 사용해야합니다. 의

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

고마워, 그게 될거야. 이제는 관련 프로젝트를 찾아야합니다. 건배, 앨런 – Alan