我有<button>
带有 ajax,并希望在成功请求后将其删除。
<script type="text/javascript">
$(".approve").click(function(){
var el, image_id = $(this).data('image-id');
$.ajax({
type: "PATCH",
dataType: "json",
data: { "approved": "True"},
url: "/ml/api/image/" + image_id + "/?format=json",
success: function(data){
$(this).remove();
}
});
});
</script>
但这行不通......
最佳答案
成功回调中的上下文与单击事件的上下文不同,这意味着 this
不再引用按钮 DOM 元素。只需再次选择该按钮,它就会将其删除:
$(".approve").click(function(){
var el = $(this), image_id = $(this).data('image-id');
$.ajax({
type: "PATCH",
dataType: "json",
data: { "approved": "True"},
url: "/ml/api/image/" + image_id + "/?format=json",
success: function(data){
el.remove();
}
});
});
关于javascript - jQuery 删除 ajax 成功的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14546749/