在随机列表项上添加类

时间:2012-05-14 14:48:58

标签: jquery random

我有一个包含列表项的无序列表。 我有一个名为'active'的类,我希望随机添加到列表项中。我现在有这个:

// I want this class added on a random list item
$("#gallery li:first-child").addClass("on"); 

的Math.random?

5 个答案:

答案 0 :(得分:6)

var random = Math.floor(Math.random() * 1000);

var $li = $("#gallery li");
$li.eq(random % $li.length).addClass("on");

答案 1 :(得分:4)

尝试以下内容,

var $li = $('#gallery li');
$li.eq(Math.floor(Math.random()*$li.length)).addClass("on");

修改已更新,以避免重新查询li

的DOM

答案 2 :(得分:1)

var licount = $("#gallery li").length;
var randomnumber=Math.floor(Math.random()*(licount+1));

$("#gallery li:nth-child("+randomnumer+")").addClass("on");

答案 3 :(得分:0)

Math.random是获取随机数的方法,所以您只需要在0<li>的数量(减1)之间得到一个数字,然后添加该类那个。

var $lis = $("#gallery li");
$lis.eq( Math.floor( Math.random() * $lis.length ) ).addClass("on"); 

答案 4 :(得分:0)

如果您知道li的数量(此处为10 li)

rand=Math.floor(Math.random() * 10); // 0 to 9
$("#gallery li").get(rand).addClass("on"); 

否则

var $li=$("#gallery li");
rand=Math.floor(Math.random() * $li.length()); // 
$li.eq(rand).addClass("on");