删除.append()以将元素返回到其原始状态

时间:2013-08-19 17:42:39

标签: javascript jquery html dom dom-manipulation

我正在为图片滑块加载ul但我需要移除图片(ul)并在滑块关闭时恢复到原始状态(在javascript操作之前),因为我稍后需要为另一组不同的图像重新加载ul。

以下是我加载滑块的方法。

 var get_images = [ "show_1.jpg", "show_2.jpg", "show_3.jpg", "show_4.jpg"];

 $.each(get_images, function(i,img){
 $('#container ul').append('<li><a href="#" class="thumbnail"><img src="'+img+'"/></a></li>'); 
});

3 个答案:

答案 0 :(得分:2)

我认为这可能就是你要找的东西:

var get_images = ["show_1.jpg", "show_2.jpg", "show_3.jpg", "show_4.jpg"];
var original = $('#container ul').html();
$.each(get_images, function (i, img) {
    $('#container ul').append('<li><a href="#" class="thumbnail"><img src="' + img + '"/></a></li>');
});
$("#revert").click( function() {
    $('#container ul').html(original);
});

恢复按钮用于演示目的。这个想法基本上就是保存原始内容,以便以后可以在需要时恢复原状。

Fiddle

答案 1 :(得分:1)

如果ul最初为空,您可以使用.empty()将其恢复到该状态。

$('#container ul').empty()

答案 2 :(得分:1)

如何获取您添加的最后一个并删除它。:

 $('#container ul li:last').remove();

如果您已添加3,则重复该行3次。每一个都获得最后添加的元素并将其删除。


另一种方式

您还可以跟踪添加内容:

var addedList = [];

$.each(get_images, function(i,img){
    var added = $.parseHTML('<li><a href="#" class="thumbnail"><img src="'+img+'"/></a></li>');
    $('#container ul').append(added);
    addedList.push(added);
});

删除类似:

for (var i=0; i < addedList.length; ++i) {
    $(addedList[i]).remove();
}
addedList = [];