首页 > 解决方案 > 定位每两个元素 - Javascript / jQuery

问题描述

我正在为js中的一段代码而苦苦挣扎。

我有一个表,我想迭代它并为前两个 tr 做一些事情,而不是为第三个和第四个等做一些事情。为了使它更干净,我将它写在这里作为一个列表。

假设我想为每两个元素分配一个类。像这样:

<li></li> <!-- class1-->
<li></li> <!-- class1-->
<li></li> <!-- class2-->
<li></li> <!-- class2-->
<li></li> <!-- class3-->
<li></li> <!-- class3-->
<li></li> <!-- class4-->
<li></li> <!-- class4-->
etc ..

我在考虑一个 for 循环,但我不知道如何定位每两个。我还找到了“切片”,但这似乎您可以在其他两个项目之间选择项目。我想创建一个 while 循环来更改切片中 start 和 end 的值,但想不出一个好的方法来做到这一点。

有什么东西吗?

标签: javascriptjquerylist

解决方案


您可以循环li元素并使用index和余数运算符%来获取每个nth元素并执行某些操作。

let c = 1;

$("li").each(function(i) {
  $(this).attr('class', 'class' + c).text(c)
  if ((i - 1) % 2 == 0) c++;
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>


推荐阅读