답변:
좀 더 명확해야합니다. "이것"(내가 작동하는 것에 동의 함)을 말하는 것보다 다음과 같이해야합니다.
$("#yourdiv").slideUp(1000, function() {
$(this).remove();
});
$("#yourdiv")
대신 사용 하는 $(this)
것은 완전히 중복되며 이것이이 코드가 OP의 문제를 해결하는 이유가 아닙니다. 이 코드는 complete
콜백을 사용하기 때문에 문제를 해결합니다 .
가장 간단한 방법은 다음 예제와 같이 다른 사람들이 말한 것과 같은 매개 변수로 slideUp 내부의 "remove ()"함수를 호출하는 것입니다.
$("#yourdiv").slideUp("normal", function() {
$(this).remove();
});
slideUp이 끝나기 전에 remove ()가 실행되지 않도록 익명 function () 내에서 호출해야합니다. 또 다른 동일한 방법은 jQuery 함수 "promise ()"를 사용하는 것입니다. 나 같은 자명 한 코드를 좋아하는 사람들에게 더 좋습니다.)
$("#yourdiv").slideUp("normal").promise().done(function() {
$(this).remove();
});
selectedLi.slideUp(200, this.remove);