Jquery 使用detach()模拟撤消操作;

Jquery 使用detach()模拟撤消操作;,jquery,Jquery,“撤消”按钮仅附加上次分离的.item,不允许在上次移除的项目之后附加分离的项目。我们的目标是删除尽可能多的项目,我希望,并有他们在连续恢复与每次点击撤消按钮 $(文档).ready(函数(){ var cacheDom=“”; $('.remove')。单击(函数(){ 如果($('.item')。长度>0){ cacheDom=$('.item'); $(this).closest('.item').detach(); } }); $(“#撤消”)。单击(函数(){ $('.list').

“撤消”按钮仅附加上次分离的
.item
,不允许在上次移除的项目之后附加分离的项目。我们的目标是删除尽可能多的项目,我希望,并有他们在连续恢复与每次点击撤消按钮

$(文档).ready(函数(){
var cacheDom=“”;
$('.remove')。单击(函数(){
如果($('.item')。长度>0){
cacheDom=$('.item');
$(this).closest('.item').detach();
}
});
$(“#撤消”)。单击(函数(){
$('.list').append(cacheDom);
});
});

项目1
去除
项目2
去除
项目3
去除

撤消
您可以保留删除的元素数组,然后从数组中的第一个元素开始恢复它们

$(文档).ready(函数(){
var removedItems=[];
$('.remove')。单击(函数(){
var removietem=$(this).closest('.item').detach();
removedItems.push(removeItem);
});
$(“#撤消”)。单击(函数(){
if(移除的项目。长度){
var restoreItem=removedItems.shift();
$('.list').append(restoreItem);
}
});
});

项目1
去除
项目2
去除
项目3
去除

Undo
立即
cacheDom
是一个jQuery对象,包含调用
remove
时类为“item”的元素列表。看起来您真正想要的是分离元素并将其附加到隐藏元素。然后,当您单击“撤消”时,将该元素从隐藏元素中分离并重新附着到可见列表。