【发布时间】:2018-07-02 13:43:36
【问题描述】:
我正在尝试将类添加到具有相同类的三个 div,但我不希望添加的任何类重复。
我有一个脚本可以向同时显示的 1、2 或 3 个 div 添加一个类。想要的效果是将图像显示为背景图像,并且在我的样式表中,我有多个类,这些图像附加到它们上面。这些类在以下代码中定义并添加到相关的 div 中:
Javascript
$(document).ready(function(){
var classes = ["a01", "a02", "a03", "a04", "a05", "a06", "a07", "a08", "a09", "a10", "a11"];
$(".S").each(function(){
$(this).addClass(classes[~~(Math.random()*classes.length)]);
});
});
此代码附加到以下 HTML
<div class="brick">
<div class="blend S"></div>
<div class="blend S"></div>
<div class="blend S"></div>
</div>
以下是此组合当前可能返回的一个结果示例:
<div class="brick">
<div class="blend S a01"></div>
<div class="blend S a01"></div>
<div class="blend S a06"></div>
</div>
注意a01的重复。以下是想要的结果:
<div class="brick">
<div class="blend S a05"></div>
<div class="blend S a02"></div>
<div class="blend S a11"></div>
</div>
Here is a live test。如果有人对我如何规避重复问题有任何 jquery 建议,我将非常感激。谢谢!
【问题讨论】:
-
我建议只是改组
classes(请参阅stackoverflow.com/a/12646864/3462319),然后在您的each中为每个类指定classes中的索引类 -
在 Stack Overflow 上,您应该尝试自己编写代码。在 doing more research 之后,如果您遇到问题,您可以发布您尝试过的内容,并提供对无效内容的明确解释并提供问题本身中的 Minimal, Complete, and Verifiable example。
标签: javascript jquery html css arrays