.appendTo中的for循环仅适用于一半的元素

时间:2013-08-15 07:55:26

标签: jquery function for-loop slideshow

我正在动态生成一个元素,我将图像放入幻灯片中,这样它就不会循环我生成的任何箭头或者寻呼机,我使用了一个for循环将它放入但不是自身的元素会发生什么是第一和第三元素被放入,但其他元素都没有。

这是循环:

for (i = 0; i < looper; i++) {
    $(this).children().eq(i).appendTo($(this).find('.holderjkdfgjkdfg'));
}

以下是小提琴中的代码:

http://jsfiddle.net/Hive7/2cb2L/

提前致谢

1 个答案:

答案 0 :(得分:1)

你的循环应该是:

for (i = 0; i < looper; i++) {
    $(this).children().eq(0).appendTo($(this).find('.holderjkdfgjkdfg'));
}

其中eq(i)应更改为eq(0),以便每次循环运行时,最顶层的'img'标记被选中。

在你的代码中,第一次循环运行'i'为0,这指向第一个元素,然后从原始div中删除并移动到'.holderjkdfgjkdfg'div。第二次循环运行时,原始div中只有3个元素,但是'i'增加到1. eq(1)将是剩余3个元素的第二个元素(实际上是原始4个元素的第三个元素)元件)。希望你明白:)。