How can I return a random element in jQuery by doing something like $(.class).random.click()?
So, if .class had 10 links, it would randomly click one of them.
Here is what I did:
var rand_num = Math.floor(Math.random()*$('.member_name_and_thumb_list a').size()); $(".member_name_and_thumb_list a").eq(rand_num).click(); 
                You can write a custom filter (taken from here):
jQuery.jQueryRandom = 0; jQuery.extend(jQuery.expr[":"], {     random: function(a, i, m, r) {         if (i == 0) {             jQuery.jQueryRandom = Math.floor(Math.random() * r.length);         };         return i == jQuery.jQueryRandom;     } });   Example usage:
$('.class:random').click()   The same thing but as a plugin instead:
jQuery.fn.random = function() {     var randomIndex = Math.floor(Math.random() * this.length);       return jQuery(this[randomIndex]); };   Example usage:
$('.class').random().click() 
                        If you don't want to hard code the number of elements to choose from, this works:
things = $('.class'); $(things[Math.floor(Math.random()*things.length)]).click() 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With