【发布时间】:2010-10-27 22:19:59
【问题描述】:
如何在 jQuery 中替换元素并返回替换元素而不是被删除的元素?
我有以下情况。我有很多复选框,一旦您单击其中一个,该复选框就会被加载图标替换。一旦发生了一些 AJAX 问题,加载图标就会被一个勾号图标取代。
使用 jQuery 的 replaceWith,你会做这样的事情:
$("input[type='checkbox']").click(function() {
$(this).replaceWith("<img src='loading.jpg' alt='loading'/>");
$.post("somepage.php");
$(this).replaceWith("<img src='tick.jpg' alt='done'/>");
});
但是,这不起作用,因为replaceWith 返回的是被删除的元素,而不是被添加的元素。所以在 AJAX 完成后,loading.jpg 将永远留在那里。
有没有什么方法可以在不选择的情况下返回替换元素?
提前致谢。
【问题讨论】: