我有一些像
这样的div<div class="block-wrap">
<a href="#">A</a>
<a href="#">A</a>
<a href="#">A</a>
<a href="#">A</a>
<a href="#">A</a>
<a href="#">A</a>
</div>
<div class="block-wrap">
<a href="#">A</a>
<a href="#">A</a>
<a href="#">A</a>
<a href="#">A</a>
<a href="#">A</a>
<a href="#">A</a>
</div>
等
和jQuery。
$('div.block-wrap a').each(function(index) {
if ((index+ 1) % 3 == 0)
$(this).after("<span></span>");
});
此广告在3 a href 一个范围之后,但如果我在一个div只有2 一个href ,它会在下一个div中添加一个范围< em> a href 。 我需要分别对每个div进行此计数。 有人可以帮忙吗? 谢谢!
答案 0 :(得分:6)
为每个block-wrap
执行单独的迭代。
示例: http://jsfiddle.net/Q5Bzj/1/
$('div.block-wrap').each(function() {
$(this).children('a').each(function(index) {
if ((index+ 1) % 3 == 0)
$(this).after("<span></span>");
});
});
如果您希望每个block-wrap
以<span>
结束,无论如何,您都可以这样做:
示例: http://jsfiddle.net/Q5Bzj/
$('div.block-wrap').each(function() {
$(this).children('a').each(function(index) {
if (index % 3 == 2)
$(this).after("<span></span>");
}).end().children('a:last-child').after("<span></span>");
});