根据LI位置添加类

时间:2012-06-08 06:52:12

标签: javascript jquery

我有以下标记,

<ul>
<li>1</li> //light BG
<li>2</li>
<li>3</li>
<li>4</li> //light BG
<li>5</li>
<li>6</li>
......
</ul>

我想根据dark的位置添加课程lightli

  • 首先li应为light
  • 第二,第三应该是dark
  • 4th,5th应为light
  • 相同的模式....

3 个答案:

答案 0 :(得分:3)

$('ul li:nth-child(3n-2)').addClass('light');

$('ul li::not(:nth-child(3n-2))').addClass('dark');

<强> DEMO

答案 1 :(得分:1)

使用模运算符,这很有趣!

$( 'li' ).each( function() {
    // Cache some variables
    var el = $( this ),
        index = el.index();

    if ( index % 3 === 0 || index % 3 === 1 ) {
        el.addClass( 'light' );
    }
    else {
        el.addClass( 'dark' );
    }
} );

PS:感谢Zeta帮助我进行模运算/ o /

答案 2 :(得分:0)

这是你所追求的模式:

http://jsfiddle.net/rCkQV/

如果其他人是黑暗的,他们可以继承所有LI的类集,并且光会覆盖它。

$("ul li:nth-child(4n),ul li:nth-child(4n+1)").addClass("light");