简体   繁体   English

jQuery划分元素并添加类

[英]jQuery divide elements and add class

I want to count my li-elements in my navigation and divide them into four classes to get them an individual border-color.我想在我的导航中计算我的 li 元素并将它们分成四类,以获得单独的边框颜色。

It should look like:它应该看起来像:

<ul>
    <li class="red"></li>
    <li class="yellow"></li>
    <li class="green"></li>
    <li class="blue"></li>
    <li class="red"></li>
    <li class="yellow"></li>
    <li class="green"></li>
    <li class="blue"></li>
</ul>

Of course I want it dynamically with jQuery.当然我希望它动态地使用 jQuery。

I've tried:我试过了:

$('#navbar li').each(function(i) {
    $(this).addClass('className-' + i);
});

but that code count all li-elements in my ul..但该代码计算了我 ul 中的所有 li 元素。

Thank for help!感谢帮助!

You can store those Classes in an array & assign a class to each li element based on the remainder of element's index when divided by 4 (i%4).您可以将这些类存储在一个数组中,并根据除以 4 (i%4) 时元素索引的余数为每个 li 元素分配一个类。

 var classNames=['red','yellow','green','blue']; $('li').each(function(i) { $(this).addClass(classNames[i%4]); });
 .red{ color:red; } .yellow{ color:yellow; } .green{ color:green; } .blue{ color:blue; }
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul> <li>One</li> <li>Two</li> <li>Three</li> <li>Four</li> <li>Five</li> <li>Six</li> <li>Seven</li> <li>Eight</li> <li>Nine</li> <li>Ten</li> </ul>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM