0

我有一个列表,我想在 jQuery中添加 2 个 css 类 - (classOne和 )。classTwo

<ul>
<li>el 1 </li>
<li>el 2 </li>
<li>el 3 </li>
<li>el 4 </li>
<li>el n </li>
</ul>

我想得到这个

<ul>
<li class="classOne">el 1 </li>
<li class="classtwo">el 2 </li>
<li class="classOne">el 3 </li>
<li class="classTwo">el 4 </li>
<li class="classOne">el n </li>

4

2 回答 2

3

试试这个,

$(function(){
    $('li:odd').addClass('classOne');
    $('li:even').addClass('classtwo');
});

小提琴http://jsfiddle.net/DrZYQ/

更新以获得更好的性能,

或者你可以试试看,

$(function(){
    $('li').filter(':odd').addClass('classOne');
    $('li').filter(':even').addClass('classtwo');
});

来源http://api.jquery.com/filter/

于 2013-06-12T10:41:39.130 回答
2

如果这是出于样式原因,则不需要使用 jQuery,只要您针对的是相对现代的浏览器:

li:nth-child(2n + 1) {
    /* some styles */
}
li:nth-child(2n) {
    /* some other styles */
}

如果你真的需要这些类,使用 jQuery 相对容易。你可以用上面的选择器来做,但这可能会更慢。最快的方法可能是这样的:

$('li').addClass(function(idx) {
    return (idx % 2 === 0) ? 'classOne' : 'classTwo';
});
于 2013-06-12T10:41:02.480 回答