jQuery从$返回的选择中获取随机元素(选择器)

时间:2013-08-29 20:00:42

标签: jquery random

如果$('.my-element')与多个元素匹配,是否可以通过快速方式从这些元素中获取随机元素?

3 个答案:

答案 0 :(得分:26)

$.fn.random = function() {
  return this.eq(Math.floor(Math.random() * this.length));
}          

$(selector).random();

答案 1 :(得分:2)

要获得均匀分布,可以将随机乘以数组计数,并使用按位运算符删除小数。

var arr = ['a','b','c'];
arr[~~(Math.random() * arr.length)]; //even odds of a, b, or c

答案 2 :(得分:1)

var numElements = $('.my-element').length;
var randomNum = Math.floor(Math.random()*numElements);
//Select your random element
$('.my-element:nth-child(' + randomNum + ')');