嘿,我没有任何代码,因为我不知道该怎么做。我希望使用jQuery / javascript随机将CSS类“active”附加到一个无序列表中的一个列表项中,该列表标识为ul#sliding_panels。
答案 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');