使用javascript随机将CSS类附加到一个列表项

时间:2010-02-27 01:58:41

标签: javascript jquery css random

嘿,我没有任何代码,因为我不知道该怎么做。我希望使用jQuery / javascript随机将CSS类“active”附加到一个无序列表中的一个列表项中,该列表标识为ul#sliding_panels。

3 个答案:

答案 0 :(得分:4)

保持简单。这将检索该列表下的所有列表项:

var items = $("#sliding_panels li");

然后使用Math.random()选择其中一个。 注意:构造Math.floor(Math.random() * 10))将返回0到9之间的整数。

var item = Math.floor(Math.random() * items.length);

您可以在jQuery对象上使用数组索引运算符来检索其中一个元素。 注意: set[n]等同于set.get(n)如果set是jQuery对象。

然后,您需要将该元素包装在jQuery对象中并使用addClass()

$(items[item]).addClass("active");

答案 1 :(得分:1)

有关如何抓取随机元素的信息,请参阅this question

$("#sliding_panels li").get().sort(function(){ 
  return Math.round(Math.random())-0.5
}).slice(0,1).addClass("active");

归功于duckyflip原始答案。

另一种选择是同一问题中提到的:random plugin

示例:

$("#sliding_panels li:random").addClass("active");

答案 2 :(得分:1)

var elements = $('ul#mylist li');
$ (elements.get (
  Math.round (elements.length*Math.random ()-0.5)
)).addClass ('active');