gpt4 book ai didi

jquery - 在 Jquery 中,将 $.get 与 $(this).remove() 结合会破坏 $(this)

转载 作者:行者123 更新时间:2023-12-01 02:07:08 28 4
gpt4 key购买 nike

我想删除 HTML 表格行中显示的一些数据(首先删除数据库,然后从 HTML 表格中删除)。我已经向每个 HTML 表格行添加了一个删除链接,当单击此链接时,我想首先创建一个 jQuery $.get 来更新数据库,如果返回成功,那么我想要删除 HTML 行。我已经让每个部分单独成功工作,但是当我尝试将它们组合起来时,我遇到了麻烦。组合后,进行 AJAX 调用以更新数据库的部分可以工作,但执行 $(this).remove() 的部分则不起作用。我可以看到,在调用 $(this).remove() 时,$(this) 的值引用的是 $.get,而我知道我需要它引用“.delete_link”。但我不知道如何改变这一点。显然我正在努力学习 jQuery 的一些基础知识。我尝试将每个部分分解为组件功能,但这似乎使事情变得更糟。

  $(document).ready(function() {
$(".delete_link").click(function () {
if (confirm('Are you sure???')) {
$.get("/comments/ajax-delete-comment?comment_id=4220537", function(response) {
if (response == 1) {
alert("Couldn't update database");
} else {
$(this).closest('tr').fadeTo(400, 0, function () {
$(this).remove();
});
}
});


return false;
}
return false;
});
});

最佳答案

只需在变量中捕获 this 即可。

if (confirm('Are you sure???')) {
var that = $(this);
$.get("/comments/ajax-delete-comment?comment_id=4220537", function(response) {
if (response == 1) {
alert("Couldn't update database");
} else {
that.closest('tr').fadeTo(400, 0, function() {
$(this).remove();
});
}
});


return false;
}​

关于jquery - 在 Jquery 中,将 $.get 与 $(this).remove() 结合会破坏 $(this),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9828605/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com