2013-04-04 63 views
0

我的列表項(約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做這個?

回答

0

不是循環遍歷數組,而是遍歷數組。

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