3

我有以下标记,

<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
  • 2、3应该是dark
  • 4、5应该是light
  • 一样的图案……
4

3 回答 3

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

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

演示

于 2012-06-08T06:58:33.003 回答
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/

于 2012-06-08T07:03:50.790 回答
0

这是你所追求的模式:

http://jsfiddle.net/rCkQV/

如果其他人是黑暗的,他们可以只继承一个为所有 LI 设置的类,而光会覆盖它。

$("ul li:nth-child(4n),ul li:nth-child(4n+1)").addClass("light");
于 2012-06-08T07:00:14.407 回答