Как вы заменяете элемент в 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
останется там навсегда.
Можно ли как-нибудь вернуть заменяющий элемент, не выбрав его?
Заранее спасибо.