由于 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/