如何针对每两个列表而不是偶数或奇数来定位列表项

Nim*_*ima 2 jquery

正如标题所说我想用jQuery为每2个列表提供不同的bg颜色......例如:

<li><!-- blue --></li>
<li><!-- blue --></li>
<li><!-- red --></li>
<li><!-- red --></li>
Run Code Online (Sandbox Code Playgroud)

提前致谢!

更新:以下代码表示奇数和偶数列表,我想知道是否有一种方法可以定位每2个列表...而不是:odd:even如何实现这一目标?

$("li:odd").addClass("blue");
$("li:even").addClass("red");
Run Code Online (Sandbox Code Playgroud)

wel*_*n97 6

演示:http://jsfiddle.net/gRjv7/1/

$('li').each(function(index){
    if(Math.floor(index/2)%2==0){
        $(this).css('color','blue');
    }else{
        $(this).css('color','red');
    };
});
Run Code Online (Sandbox Code Playgroud)

  • `parseInt`不是必需的.为了将来参考,如果你使用带有未知数字的`parseInt`,指定基数,以防止`010`到'8`转换:`parseInt(index,10)`.为了提高效率,`$(this)`也应保存在变量中,以防止多次不必要的函数调用. (2认同)
  • @nima在这里查看更多性能提示http://addyosmani.com/jqprovenperformance/ (2认同)