반응형
안녕하세요 주갬입니다.
오늘은 jQuery를 이용할 때 유용하게 사용할 수 있는 $(this)가 안먹을 때의 해결방법에 대해 말씀드리려고 합니다.
위 사진에는 같은 클래스명을 가진 DELETE버튼이 여러개 생성되어 있습니다.
이처럼 같은 클래스명인 요소들에 하나씩 접근하는 경우, jQuery의 $(this)로 원하는 요소에 접근하여 각종 명령을 수행하게 됩니다.
하지만 ajax에서 그냥 $(this)를 쓰면 인식을 못하는 경우가 있습니다.
댓글 삭제 기능을 만들던 중 DELETE버튼을 누르면 댓글 전체를 지우는 작업을 해야했고
$(this).closest('.media-body'); 를 통해
delete버튼을 누르면 가까이 있는 'media-body'인 요소를 찾아 지우려 했지만 $(this)가 먹지 않아 삽질을 좀 했습니다.
인터넷을 뒤져 찾아낸 해결방법은 바로,,!
$.ajax({ ... }) 안에
context: this, 를 추가 하는 것입니다!
해당 코드를 입력하시면 위의 jQuery 코드에서 사용한 $(this)가 가르키는 요소를 가져다 사용할 수 있습니다.
감사합니다!
반응형
'Javascript, jQuery' 카테고리의 다른 글
react-vis-timeline 'isDataViewLike' 설치 오류 해결방법 (0) | 2022.03.18 |
---|---|
[jQuery] 변화량의 증가/감소에 따라 아이콘 다르게 구현하기 (0) | 2021.09.24 |
[DC.js] bar Chart 사용법 정리 및 설명 (0) | 2021.08.25 |