我有简单的清单:
<ul>
<li>some text 1 </li>
<li>some text 2</li>
<li>some text 3</li>
<li>some text 4</li>
<li>some text 5</li>
<li>some text 6</li>
<li>some text 7</li>
</ul>
我需要在每个4n元素之后添加一些div
我有:
$("ul li:nth-child(4n)").after("<div style='color:black'>test</div>");
但是例如我有4个元素和我之后的div,而且我只有3个元素,但我需要在第三个元素之后追加我的div ...如何制作这个? 谢谢!
答案 0 :(得分:7)
如果li
规则不匹配,您可以使用.add()
添加到jQuery结果集nth-child
。
$("ul li:nth-child(4n)")
.add('ul li:last')
.after("<div style='color:black'>test</div>");
演示
答案 1 :(得分:2)
你也可以依靠grep进行拣选:
var $lis = $('li');
$lis = $($.grep($lis, function (l, i) {return (i+1)%4 == 0 || i == $lis.length - 1;}));
$lis.after("<div style='color:black'>test</div>");