JQuery:单击文档就绪的随机链接

时间:2011-06-15 23:26:00

标签: jquery random click

我在页面上有五个链接,单击时会在页面的另一部分显示不同的内容。每个链接都有一个ID,我在文档上有一个简单的点击功能,可以选择第一个链接:

$( '#LINK1')点击();

如何在文档就绪时随机点击五个链接中的一个,而不是#link1?是的,我意识到点击功能可能不是理想的处理方法。

提前致谢!

5 个答案:

答案 0 :(得分:7)

smoov jQuery的做事方式:

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;
 } });

<script type="text/javascript">
 $().ready(function() {
     alert($("a:random").click());
 }); 
 </script>

(我知道自定义选择器,但仍然无耻地从here偷走)

略少于smoov:

$(function() {
   var links = $('a');
   var randomNum = Math.floor(Math.random()*links.length)  
   links.get(randomNumber).click();
} 

如果您想要一个ID以链接开头的链接,您可以随时执行:

   var links = $("a[id^='link']");

现在无论你使用数字还是其他什么都没关系。任何具有以链接开头的ID的东西。 (当然,您也可以将它应用于特定的css类)

答案 1 :(得分:2)

这样的事情?

var randomnumber=Math.floor(Math.random()*5)
$($('a').get(randomnumber)).click();

答案 2 :(得分:1)

假设感兴趣的链接以“link”开头,后跟一个数字:

$('a[id="link' + Math.floor(Math.random() * 5) + '"]')[0].click();

答案 3 :(得分:0)

我认为会是

links = new Array();
$('a').each(function() { links.push($(this)) });
el = links[Math.floor(Math.random()*links.length)]
el.click();

抓取页面上的所有链接并将它们放入数组中,然后单击其中一个链接。

答案 4 :(得分:0)

另一种可能的黑客攻击:

$('a[href^="link"]').sort(function(){return Math.random()-0.5}).eq(0).click()

上面的代码将随机播放链接,然后返回第一个链接。 然后你可以触发返回元素的“点击”