jQuery appendTo和reset / reorder position函数?

时间:2012-03-22 00:51:55

标签: javascript jquery

我使用appendTo()附加到“div”几个“img”标签中,这看起来效果很好。现在如果我想删除图像并重新排序呢?为了使我的自我更清楚,我将图像div保持在一个数组中。当我从该数组中删除一个元素时,我也希望重新排序“可视”图像。 所以我有这个:

[img_1] [img_2] [img_3] -> in a div

现在如果我删除“image div”2我想得到这个:

[img_1] [img_3] -> in a div

而不是这个:

[img_1]       [img_3] -> in a div

1 个答案:

答案 0 :(得分:0)

如果你有一个包含图像的数组,并且想要从数组中删除一个图像并将其从DOM中删除,你可以创建一个这样的函数来为你做两个操作:

var imgArray = [img1, img2, img3];

function removeImage(array, index) {
    array[index].parentNode.removeChild(imgArray[index]);   // remove from DOM
    array.splice(index, 1);                                 // remove from array
}

removeImage(imgArray, 1);

该函数的第一行从DOM中删除数组中的第二个元素。

该函数中的第二行从数组中删除第二个元素。


仅供参考,您可能想知道jQuery使得获取任何div中的图像列表变得如此容易,通常情况下您不需要在javascript中保留并行的图像数组。如果你想要一个div中的图像列表,你可以随时使用jQuery和正确的选择器来获取它。

例如,如果你有这个HTML:

<div id="container">
    <img src="xxx">
    <img src="yyy">
    <img src="zzz">    
</div>

您可以随时使用此jQuery获取图像列表:

$("#container img")

并且,你可以删除第二张图片:

$("#container img").eq(1).remove();