Как восстановить элемент, удаленный с помощью jQuery? - PullRequest
3 голосов
/ 20 февраля 2010

, если элемент удален с помощью

$('.notification').remove();

Как мы создадим его обратно.

Ответы [ 4 ]

11 голосов
/ 20 февраля 2010

Проверьте метод jQuery 1.4 .detach(). Он позволяет вам «удалять» элементы из DOM и сохранять их, чтобы их можно было повторно вставить позже.

10 голосов
/ 20 февраля 2010

Вы не можете получить этот конкретный экземпляр обратно. Использование $.remove() удаляет его из DOM. Вы можете создать его клон, перемещать его по DOM, скрывать и т. Д. В зависимости от того, что требуется вашему проекту, у вас, вероятно, есть много других вариантов.

Если вас не слишком интересует этот конкретный экземпляр, вы можете создать новый. Предположим, это был div с утверждением:

$("<div />").addClass("notification").text("I exist!").appendTo("body");

Если вы хотите сохранить копию этого конкретного элемента, вы можете $.clone() удалить его и удалить оригинал:

var clone = $(".notification").clone(); // making zeh' clones!
$(".notification").remove();            // original is gone
$("body").append(clone);                // appears to have returned
5 голосов
/ 20 февраля 2010

detach () делает то, что делает remove () , с той разницей, что remove также удаляет любые обработчики событий в элементе. Пока в какой-то момент делается ссылка, элемент может быть удален или отсоединен в равной степени и возвращен в DOM

noti = $('.notification').remove();
$('body').append( noti ); // later
0 голосов
/ 14 октября 2016

Еще проще использовать вместо этого .replaceWith (), который возвращает то, что заменено. Не ставьте ничего, что он заменяет.

var backUpReplaced = $('.notification').replaceWith('');    

Теперь ваш элемент хранится в var, но его нет на вашей странице

...