我使用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
答案 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();