【问题标题】:Add class to every few random elements with jquery使用jquery为每几个随机元素添加类
【发布时间】:2014-12-27 09:10:01
【问题描述】:

我有一个元素序列,比如说:

<div class="tile1"></div>
<div class="tile2"></div>
<div class="tile3"></div>
<div class="tile4"></div>

等等

我将如何使用 Jquery 将新类“颜色”添加到每几个随机元素,增量在 2 和 6 之间变化,如下所示:

<div class="tile1"></div>
<div class="tile2 color"></div>
<div class="tile3"></div>
<div class="tile4"></div>
<div class="tile5 color"></div>
<div class="tile6"></div>
<div class="tile7 color"></div>
<div class="tile8"></div>
<div class="tile9"></div>
<div class="tile10"></div>
<div class="tile11"></div>
<div class="tile12 color"></div>

等等

【问题讨论】:

  • 你能告诉我们你的jquery代码吗?

标签: javascript jquery random increment sequential


【解决方案1】:

您需要将 JQuery 与纯 javascript 混合使用:

$("[class^=tile]").each(function(i,e){
    ranNum = Math.floor(Math.random() * (6 - 2 + 1)) + 2;
    if((i + 1) % ranNum == 0){
       $(e).addClass('color');
    }
});

这里我们循环遍历 tile div,如果 tile 编号除以随机数的余数为 0,我们将为其分配颜色类。

JSFIDDLE

【讨论】:

    【解决方案2】:

    这会将您的随机颜色类添加到您的 div 以及您的索引中

      $( "div" ).addClass(function( index ) {
          return "tile" + index + (Math.floor(Math.random() * 10 + 1) == 2) ? '' : 'color';
      });
    

    【讨论】:

      猜你喜欢
      • 2016-02-17
      • 1970-01-01
      • 2011-07-27
      • 2023-04-03
      • 2012-11-27
      • 1970-01-01
      • 2011-03-15
      • 2012-09-01
      • 1970-01-01
      相关资源
      最近更新 更多