<img src="/semi-img/heart.png" id="heart" class="heartBox">
라는 태그가 여러개 있고(이 태그는 더보기 버튼을 누를시 ajax를 이용해서 추가로 더 불러와짐)
이제 저 버튼을 클릭시 다시 ajax를 이용하여 버튼의 src값을 변경시키고싶은데
그 코드가 이것임. 근데 이때, 내가 설정한 $(this) 이놈이 img태그 자신을 선택하지 못하는듯함
원인은 아마 $(document).on("click", ".heartBox", function(){ 이렇게 이벤트 걸었을때 이벤트 버블링인지뭔지 그거때문에 그런걸거라고 추측하는중
내가 선택한 img태그를 선택하려면 어떻게 해야될까 난 this쓰면 자기 자신이니까 걍 될줄알았는데 안되더라.
// $(this).attr("src", "/semi-img/false.png"); 여기에 this를 .heartBox로 바꾸면 실시간으로 바로 바뀌긴함 근데 페이지내의 모든 img가 바뀌어서 문제
< 삭제될 게시글입니다 >
뭐야 궁금하게
this를 그대로 쓰려면 done에 function을 익명으로 줘야지
헐 미친
정답이네
버블링은 개소리였고.. 고맙당..
es6가 되는 환경인가 보네 부럽다 시붕
국비 백엔드과정인데 자스만질일이 있어서..
근데 저거 익명함수를 안쓰면 태그선택을 못하고 익명함수를 쓰면 분기를 못주는거 아닌가
익명함수 안쓸거면 위에서 미리 바인딩을 시켜주면 됨 const $btn = $(this);
아 '' 이걸 리터널로 봄 간단 하게 해결할 거면 ajax 호출전에 var _this = $(this) 이런식으로 선언해 주면 간단하긴 할텐데
헐.. 여기 왤케 잘하는애들 많냐 그러면 나같은경우는 const $(".heartBox") = $(this); 를 미리 해두면 걍 쓸수있는거네 ㄳ ㄳ
달러싸인은 제이쿼리 변수라고 알아보기 쉽게 쓴거고 변수명에 따옴표랑 괄호는 안될걸
ㅇㅇ.. 방금 에러내고왔다..
하튼 다들 고맙당 나머지는 내가 해결해봄 ㄳㄳ 사실 다알려줬지만..
$(document).on('click','.heartBox', fucntion () { var _this = $(this) 그다음 if 문 다음 ajax 호출} 이걸 얘기한거임
ㅇㅇ 고맙다 덕분에 세시전에 잘수있을듯... 복많이받아랑