我在頁面上有五個鏈接,點擊時頁面的另一部分會顯示不同的內容。每個鏈接都有一個ID,我在文檔上有一個簡單的點擊功能,可以選擇第一個鏈接:JQuery:單擊文檔準備中的隨機鏈接
$('#link1')。click();
如何在文檔準備好的情況下隨意點擊五個鏈接中的一個,而不是#link1?是的,我意識到點擊功能可能不是處理這個問題的理想方式。
在此先感謝!
我在頁面上有五個鏈接,點擊時頁面的另一部分會顯示不同的內容。每個鏈接都有一個ID,我在文檔上有一個簡單的點擊功能,可以選擇第一個鏈接:JQuery:單擊文檔準備中的隨機鏈接
$('#link1')。click();
如何在文檔準備好的情況下隨意點擊五個鏈接中的一個,而不是#link1?是的,我意識到點擊功能可能不是處理這個問題的理想方式。
在此先感謝!
的處事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類太)
這樣的事情?
var randomnumber=Math.floor(Math.random()*5)
$($('a').get(randomnumber)).click();
更好地使用'.eq()':'$('a')。eq(randomnumber).click();' – 2011-06-15 23:33:06
假設興趣開始的,隨後用一個號碼「鏈接」的鏈接:
$('a[id="link' + Math.floor(Math.random() * 5) + '"]')[0].click();
我認爲這將是
links = new Array();
$('a').each(function() { links.push($(this)) });
el = links[Math.floor(Math.random()*links.length)]
el.click();
抓取頁面上的所有鏈接並將它們放入數組中,然後單擊其中一個鏈接。
沒有必要先將它們放入數組中。 – 2011-06-15 23:33:44
我分手了,所以他可以看到過程,而不是複製和粘貼代碼。 – 2011-06-15 23:36:45
另一個可能的黑客攻擊:
$('a[href^="link"]').sort(function(){return Math.random()-0.5}).eq(0).click()
上面的代碼將洗牌的鏈接,並返回第一個。 然後你可以觸發返回元素的'點擊'
+1 – Locksfree 2011-06-15 23:30:49
+1我在嘴裏吐了一下,然後我暈了過去。真棒。 – jmbucknall 2011-06-15 23:34:20
這是完美的!非常感謝你,感謝所有回答的人。 – fast 2011-06-16 18:42:08