使用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));
});
这是一个很好的开始,但我想我还需要将所有内部toBeAppended列表中的项目到一个数组,所以我可以每间隔VAL之后每一个按顺序放置....任何想法? – JCHASE11 2013-04-04 21:26:58
我不明白你的意思。难道你不能用'.after(“
随着编辑,第一个新的李将被放置在8之后,14之后的第二,23之后的第3。 – 2013-04-04 21:30:47