2012-10-27 4 views
0

기본적으로 양식이 있는데 제출할 때 입력란을 채우기 위해 빈 필드에 클래스를 추가합니다.특정 요소가 변경되면 수정하십시오.

그러나 사용자가 입력을 채우기 시작하거나 "선택"을 변경하면이 클래스를 제거하려고합니다.

내가 뭘하고있는거야, 내 문제는 내가 수정 된 요소를 선택하는 방법을 모르겠다는 것입니다. 어떻게해야합니까? 당신은 $(this) 사용할 수

$("input, select").change(function(){ 
    $('input').removeClass('highlight'); // Only affect modified element 
    }); 

답변

1

는 것 같아요 :

$("input, select").change(function(){ 
    $(this).removeClass('highlight'); // Only affect modified element 
}); 
1

사용 this. 그것은 모든 이벤트 (및 많은 비 이벤트) 콜백을 갖는 매우 일반적인 jQuery 관용구입니다. 상술 한 바와 같이

$("input, select").change(function(){ 
    $(this).removeClass('highlight'); // Only affect modified element 
}); 

http://api.jquery.com/bind/#event-handlers

handler

파라미터는 콜백 함수 걸린다. 핸들러 내에서 this 키워드는 핸들러가 바인드 된 DOM 요소를 나타냅니다. jQuery에서 요소를 사용하려면 일반 $() 함수로 전달하면됩니다.

0

$(this)을 사용하면됩니다. jQuery 메서드는 기본적으로 해당 인수를 이벤트 요소로 사용합니다. input에만 영향을주고 싶은 경우 :

$(this).filter("input").removeClass(...) 
관련 문제