Jos*_*osh 39 javascript jquery
如何通过做类似的事情在jQuery中返回一个随机元素$(.class).random.click()
?
所以,如果.class
有10个链接,它会随机点击其中一个.
这是我做的:
var rand_num = Math.floor(Math.random()*$('.member_name_and_thumb_list a').size());
$(".member_name_and_thumb_list a").eq(rand_num).click();
Run Code Online (Sandbox Code Playgroud)
Anu*_*rag 57
您可以编写自定义过滤器(取自此处):
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;
}
});
Run Code Online (Sandbox Code Playgroud)
用法示例:
$('.class:random').click()
Run Code Online (Sandbox Code Playgroud)
相同的事情,但作为一个插件代替:
?jQuery.fn.random = function() {
var randomIndex = Math.floor(Math.random() * this.length);
return jQuery(this[randomIndex]);
};
Run Code Online (Sandbox Code Playgroud)
用法示例:
$('.class').random().click()
Run Code Online (Sandbox Code Playgroud)
Mos*_*oss 40
如果您不想硬编码可供选择的元素数量,则可以:
things = $('.class');
$(things[Math.floor(Math.random()*things.length)]).click()
Run Code Online (Sandbox Code Playgroud)
Mar*_*rko 39
var random = Math.floor(Math.random()*10);
$(".someClass").eq(random).click();
Run Code Online (Sandbox Code Playgroud)
var rand = Math.floor(Math.random()*10);
$('.class').eq(rand).click();
Run Code Online (Sandbox Code Playgroud)
Math.random()
得到一个介于0和1之间的伪随机数,所以将它乘以10并向下舍入得到0到9. .eq()
是0索引,所以这将得到你所拥有的10个随机jQuery元素.
归档时间: |
|
查看次数: |
53818 次 |
最近记录: |