jquery - 在两个类上以相同的方式随机化一些东西

标签 jquery css html random parent-child

由于 this community,我正在努力实现我已经完成(较小的)一半的事情:) — 不过,不知道如何完成其​​余的工作。

我有一个 div 的多个实例。对于每个实例,我从列表中随机添加一个类(以更改一些设置,如字体、颜色等)。目前我正在使用下面的功能这样做。此功能还避免了两个相同的类被一个接一个地添加。

var classes = ['blue', 'yellow', 'lightorange', 'violet'];
var prevClass = "";
$('.randomizeddiv').each(function() {
    var classes2 = [];
    for (var i = 0; i < classes.length; i++) {
        if (classes[i] !== prevClass) {
            classes2.push(classes[i]);
        }
    }
    $(this).addClass(prevClass = classes2[Math.floor(Math.random()*classes2.length)]);
});

现在我有另一个 div,它有一个不同的类(也是多实例),我想根据前一个的改变方式来改变它。可以说我的第一个随机 div 被添加到类“blue”我想要一个子 div 变成“blue2”

    <div class="randomizeddiv blue> 
        </div class="secondrandom blue2"></div>
    </div>

    <div class="randomizeddiv yellow> 
        </div class="secondrandom yellow2"></div>
    </div>

    <div class="randomizeddiv violet> 
        </div class="secondrandom violet2"></div>
    </div>

最佳答案

只是在循环中给 child 添加一个类?

var classes = ['blue', 'yellow', 'lightorange', 'violet'];
var prevClass = "";

$('.randomizeddiv').each(function() {
    var classes2 = [];
    for (var i = 0; i < classes.length; i++) {
        if (classes[i] !== prevClass) {
            classes2.push(classes[i]);
        }
    }

    prevClass = classes2[Math.floor(Math.random()*classes2.length)]

    $(this).addClass(prevClass).find('.secondrandom').addClass(prevClass + '2');
});

关于jquery - 在两个类上以相同的方式随机化一些东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21003150/

相关文章:

javascript - 如何使用jquery编辑表td值

css - Angular 表单验证和 Bootstrap 样式

javascript - Safari 中的 preventDefault

javascript - jquery 中的 ImgAreaSelect

javascript - 如何将淡出效果应用于必须消失的 div,并将淡入淡出效果应用于使用 JQuery 替换它的 div?

php - Laravel 如何通过用户 ID 获取关注者数量?

javascript - 如何使谷歌地图中的重叠 POI 可访问

应用 float 时的 css 显示属性

javascript - 将 JSON 对象的部分内容替换为 HTML 输入值

javascript - li 背景颜色重复/图案