this의 잘못된 사용
버튼클릭이벤트 함수내에서
$(this), this는 버튼태그 자체를 가리킨다.
근데 함수내에서 ajax를 쓸 경우
success함수내에서(ajax성공 후) $(this),this는 버튼태그가
아니라 success함수 자체를 가리킨다.
$("button").on("click", function(e){
e.preventDefault();
//$(this)는 내가 클릭한 버튼
console.log(this); // 버튼태그가 찍힌다.
$.ajax({
url : "url"
,success: function(){
console.log(this); // success함수가 나온다.
//$(this).closeset("div"); 등은 에러가 난다.
// ajax 성공함수에서 내가 선택한 버튼으로 무언가 하고싶다면
// ajax 호출 전에 변수로 선언하자.
}
});//ajax
});//버튼
attr, prop
jquery에서 selected,checked,readyonly 등의 속성에 대해 작업 할 때
attr() 메소드가 적용이 안되는 경우가 있다. 이 때는 prop()메소드를 사용하자