不要问为什么,但我需要将类斑马添加到<li>
元素及其旁边的内容。这是我所拥有的,但我不确定使用什么计算:
$("li").each(function(index){
if(index % ??? == 0) { // <-- not sure what to put here
}
});
<ul>
<li></li>
<li></li>
<li></li> <!-- add the zebra class here -->
<li></li>
<li></li>
<li></li>
<li></li> <!-- add the zebra class here -->
<li></li>
<li></li>
<li></li>
<li></li> <!-- add the zebra class here -->
<li></li>
</ul>
有人可以帮忙吗?
答案 0 :(得分:12)
:nth-child()
选择器可以接受一个等式,它可以完美地解决您的问题:
$('ul li:nth-child(4n+3)').addClass("zebra").text("Here");
从3开始选择每{4} li
,:nth-child(4n-1)
也会有效(每4-1个元素)。不需要each()
或模数。
http://jsfiddle.net/AvPhe/ - 基于您的示例输入的示例, zebra 类与文本“Here”一起添加。
答案 1 :(得分:2)
从我所知道的,你想要第3,第7,第11,...类“斑马”:
$("li").each(function(index,item){
if((index+2)%4 == 0) {
$(item).addClass("zebra");
}
});
编辑:查看安迪的回答。比我好多了: - )
答案 2 :(得分:0)
期间为4,因此模数应为4.
但是它会被两个偏移,因此您需要在索引中添加2:
if ((index + 2) % 4 == 0)
答案 3 :(得分:0)
if (index % 4 == 2)
是我认为你正在寻找的。 p>
在您的示例中,您选择了第3,第7和第10个元素。