使用jQuery每个循环停止在间隔

问题描述:

我的列表项(约40 li S),每个都包含像这样的图像的网格:使用jQuery每个循环停止在间隔

<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做这个?

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

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

这是一个很好的开始,但我想我还需要将所有内部toBeAppended列表中的项目到一个数组,所以我可以每间隔VAL之后每一个按顺序放置....任何想法? – JCHASE11 2013-04-04 21:26:58

+0

我不明白你的意思。难道你不能用'.after(“

  • somcontent
  • ”)''替换'.doSomething()'?我会编辑一个更完整的样本 – 2013-04-04 21:28:11
    +0

    随着编辑,第一个新的李将被放置在8之后,14之后的第二,23之后的第3。 – 2013-04-04 21:30:47