Как мне отменить .detach ()? - PullRequest
4 голосов
/ 23 апреля 2011

Я использую JQuery 1.5 и следующий код для отсоединения элементов li с определенным классом при нажатии кнопки.Что я хочу знать, когда я снова нажимаю на эту кнопку, как мне добавить элемент обратно на страницу?

    <script>
    $("#remove").click(function () {
      $('li.type').fadeOut(300, function() { $(this).detach(); });
    });</script>

Ответы [ 2 ]

5 голосов
/ 23 апреля 2011

Вопрос: где на странице вы хотите вернуть элемент обратно? Если, например, все элементы li возвращаются внутрь <ul id="foo"></ul>, вы можете использовать что-то вроде этого:

var items = [];
$('li.type').fadeOut(300, function() {
     items.push( $(this).detach() );
});

$('#replace').click(function() {
    for(var i = 0; i < items.length; i++) {
        $("ul#foo").append(items[i]);
    }
    items = [];
});
1 голос
/ 23 апреля 2011

здесь вы не можете за цикл.

var demo;
$('li.type').fadeOut(300, function() {
     demo = $(this).detach();
});

$('#replace').click(function() {
   $("ul#foo").append(demo);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...