Восстановить несколько отдельных элементов в JQuery

У меня есть ссылка внутри таблицы, которая при нажатии удаляет весь родитель tr. Я использую detach() для восстановления этого элемента позже на основе события.

Как правило, это можно сохранить как переменную, а затем вызвать ее позже и получить append() позже, но что, если мне нужно восстановить несколько строк?

Не существует метода .=, чтобы добавить больше к переменной, не так ли?

JSFiddle = http://jsfiddle.net/nErDy/


person RCNeil    schedule 21.08.2012    source источник


Ответы (3)


Почему бы не использовать массив?

var deleted = [];
//Allow people to delete rows
$('a.delete').click(function() {
    deleted.push($(this).parent().parent().detach());
});

//Restore all
$('a.restore').click(function() {
    $.each(deleted, function(i, v) {
        $('#teams').append(v);
    });
});​

http://jsfiddle.net/wirey00/nErDy/2/

person wirey00    schedule 21.08.2012

вы должны использовать массив для хранения всех отдельных элементов: http://jsfiddle.net/nErDy/1/

person André Alçada Padez    schedule 21.08.2012

Что все остальные сказали, используйте массив. Кроме того, переместите css для нечетных строк в фактический css, чтобы он учитывал удаленные строки.

#teams tr:nth-child(even) td { background-color : #cecece }​

http://jsfiddle.net/44Qab/

person Jan    schedule 21.08.2012
comment
Хорошо поймал. Я ценю ваш ответ. - person RCNeil; 21.08.2012