【发布时间】:2012-11-22 11:01:43
【问题描述】:
我在 <div> 中添加了一些 <li> 和 jQuery,如下所示:
countBlocs = 60;
for (i = 1; i <= countBlocs; i++)
{
$('#head #lol').append("<li id='losange"+ i++ +"' class='losange'></li>");
};
在 html 中看起来像这样:
<section id='head'>
<article id='head_content'>
<li id='losange1' class='losange'></li>
<li id='losange2' class='losange'></li>
<li id='losange3' class='losange'></li>
<li id='losange4' class='losange'></li>
<li id='losange5' class='losange'></li>
<li id='losange6' class='losange'></li>
...
</article>
</section>
现在我正在尝试在 jQuery 中为每个 <li> 添加随机类:
countBlocs = 60;
for (i = 1; i <= countBlocs; i++)
{
var paras = $('#head #head_content li');
var rand = Math.floor(Math.random() * paras.length);
paras.eq(rand).addClass('logo_white');
};
这很好,但我需要添加超过 1 个类,但每个 <li> 只保留 1 个类
所以我用不同的类名复制了上面的代码(这不是很好):
countBlocs = 30;
for (i = 1; i <= countBlocs; i++)
{
var paras = $('#head #head_content li');
var rand = Math.floor(Math.random() * paras.length);
paras.eq(rand).addClass('logo_white');
};
countBlocs = 30;
for (i = 1; i <= countBlocs; i++)
{
var paras = $('#head #head_content li');
var rand = Math.floor(Math.random() * paras.length);
paras.eq(rand).addClass('logo_red'); <- Another class name
};
...
现在我生成的<li> 看起来像这样:
<section id='head'>
<article id='head_content'>
<li id='losange1' class='losange logo_red'></li> <- Ok!
<li id='losange2' class='losange logo_red'></li> <- Ok!
<li id='losange3' class='losange logo white logo red'></li> <- WRONG!
<li id='losange4' class='losange logo white'></li> <- Ok!
<li id='losange5' class='losange logo red logo white'></li> <- WRONG!
<li id='losange6' class='losange logo red'></li> <- Ok!
...
</article>
</section>
问题:
它在同一个<li> 上添加了多个类,我只希望从已经定义的几个类中随机添加一个类到我的<li>
【问题讨论】:
标签: jquery random html-lists duplicates addclass