【发布时间】:2016-01-15 11:08:07
【问题描述】:
我试图通过同一个数组运行两个 for 循环来克隆一堆项目,一个向前,另一个向后,但它似乎只输出第二个数组。尝试这样做有问题吗?这是我的设置:
我先把想要的元素压入数组。
var cloneArr = new Array();
$('.element').each(function(){
var clone = $(this).clone();
cloneArr.push(clone);
});
然后我运行两个 for 循环以在原始项目周围附加和前置每个项目。
for (i = 0; i < elementLength; i++) {
$('.element-parent').append(cloneArr[i]);
}
for (i = elementLength - 1; i >= 0; i--) {
$('.element-parent').prepend(cloneArr[i]);
}
我遇到的问题是它们各自独立工作,但不能一起工作。它只会添加第二个放置的循环。我尝试创建两个不同的数组并在第一个数组完成后调用第二个数组,但得到相同的结果。
有谁知道我如何做到这一点或我做错了什么?
【问题讨论】:
-
您正在追加和前置相同的元素。你应该克隆它两次。
-
正如我所说,我尝试运行两个不同的克隆数组并获得相同的结果。
-
@user2339729,你做了两个不同的数组,但是你把同一个变量放进去了吗?您需要运行两次
$(this).clone();来创建两个不同的克隆。
标签: javascript jquery arrays for-loop clone