javascript - 使用 jquery html 将类添加到索引

标签 javascript jquery

<tr>
 <td class="a 1"></td>
 <td class="a 2"></td>
 <td class="a 3"></td>
</tr>

<tr>
 <td class="b 4"></td>
 <td class="b 5"></td>
 <td class="b 6"></td>
</tr>

if(val){
  for(var i=0; i<val; i++){
    $('.'+i).addClass("somecl");    
  }    
}

如何在 jQuery 中使用索引添加 class 循环?

比方说,我们在 val 3 中应该将 somecl 类添加到类 a 1、a 2 和 a 3。 如果它是 val = 4,它也应该将 somecl 添加到 a 1、a 2、a 3 和 b 4。 我怎样才能做到这一点?请指导。

最佳答案

你快到了。

由于不存在名为 0 的,您可以在 i=1 开始循环并在 i<=val 时结束.我认为您不需要此处的 if 条件。

var val = 3;
for(var i=1; i<=val; i++){
  $('.'+i).addClass("somecl");    
}
.somecl{color:red;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
   <td class="a 1">11</td>
   <td class="a 2">22</td>
   <td class="a 3">33</td>
  </tr>

  <tr>
   <td class="b 4">44</td>
   <td class="b 5">55</td>
   <td class="b 6">66</td>
  </tr>
</table>

很少有替代解决方案:

您可以使用 .each()遍历所有 td 以检查元素是否具有类。如果有则添加类。

请注意: index 从 0 开始,这意味着第一个元素为 0,第二个元素为 1,依此类推。

var val = 3;
$('td').each(function(i){
  var i = i+1;
  if($(this).hasClass(i) && i <= val)
   $(this).addClass("somecl");    
});
.somecl{color: red;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
   <td class="a 1">11</td>
   <td class="a 2">22</td>
   <td class="a 3">33</td>
  </tr>

  <tr>
   <td class="b 4">44</td>
   <td class="b 5">55</td>
   <td class="b 6">66</td>
  </tr>
</table>

您可以使用 .eq()将匹配元素集减少到指定索引处的元素。

var val = 3;
for(var i=0; i<val; i++){
  $('td').eq(i).addClass("somecl");    
} 
.somecl{color: red;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
   <td class="a 1">11</td>
   <td class="a 2">22</td>
   <td class="a 3">33</td>
  </tr>

  <tr>
   <td class="b 4">44</td>
   <td class="b 5">55</td>
   <td class="b 6">66</td>
  </tr>
</table>

你也可以获取一个变量中的所有元素,然后使用循环将当前i值设置为索引变量中的元素。

var el = $('td');
var val = 3;
for(var i=0; i<val; i++){
 $(el[i]).addClass("somecl");    
}
.somecl{color: red;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
   <td class="a 1">11</td>
   <td class="a 2">22</td>
   <td class="a 3">33</td>
  </tr>

  <tr>
   <td class="b 4">44</td>
   <td class="b 5">55</td>
   <td class="b 6">66</td>
  </tr>
</table>

关于javascript - 使用 jquery html 将类添加到索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53468208/

相关文章:

javascript - 图像源未与指令内的范围变量绑定(bind)

javascript - 我怎么知道是否加载了 Google Visualization

javascript - 我可以在 Node.js 中使用 jQuery 吗?

javascript - 如何在没有iframe的情况下在ionic div中加载外部url

javascript - 通过多个模板渲染主干 View

jquery - 如何用jQuery选择div1~divN,其中N是变量?

jQuery 在 div 上上下滚动

javascript - 从 Ajax 调用返回 bool 到 MVC

javascript - 动画搜索框

javascript - 如何动态绘制 "pretty"贝塞尔曲线?