使用Jquery每个循环以间隔停止

时间:2013-04-04 21:15:20

标签: jquery dom append

我有一个列表项网格(约40 li s),每个都包含如下图像:

<ul id="grid">
    <li><img src="images/source.jpg"></li>
    <li><img src="images/source.jpg"></li>
</ul>

我想使用jQuery在第8个,第14个和第23个列表项(或任意数字系列)之后插入一个新的列表项。

新的列表项已经存在于DOM中的不同无序列表中,如下所示:

<ul id="toBeAppended">
    <li class="dataBlock d0">
            <a href="#dataDummy" class="fancybox">
               <div>
                   <h3>44<span>%</span></h3>
                   <span>Lorem ipsum dolor sit amet</span>
               </div>
            </a>
     </li>
</ul>

这个无序列表是隐藏的。我想使用jQuery来抓取li.d0并将其插入到上面的第8个列表项之后,然后抓取#toBeAppended中的下一个列表项并在第14行之后插入,依此类推。

我猜我会将我要插入新列表项的数字存储到数组中,如下所示:

var splashArray = [8,14,23];
$("grid li").each(function(i){
 //not sure what to do here in order to stop the the loop at each interval
  i++
});

我将如何使用jQuery执行此操作?

1 个答案:

答案 0 :(得分:0)

而不是遍历li,循环遍历数组。

var $lis = $("#grid li");
var $newlis = $("#toBeAppended li");
$.each([8,14,23],function(i,val){
    $lis.eq(val).after($newlis.eq(i));
});