jQuery - 3个div中的1个但是随机的

时间:2017-01-05 11:40:36

标签: jquery html random

Heyy

我想编制一个" Rock Paper Scissors"用电脑。现在,当我选择3个选项中的一个时,我希望计算机放入一个随机对象 - 但是如何? 我想出了类似的东西

的jQuery (当我点击#rock时,从下面输入一个随机div)

$('#rock').on('click',function() {
           $('#putHere').text($("#rock" || "#paper" || "#scissors").text());
          });

HTML

 <div id="rock">rock</div>
 <div id="paper">paper</div>
 <div id="scissors">scissors</div>

可能是误解但是是啊..我尽了最大努力..但是要求帮助

2 个答案:

答案 0 :(得分:1)

你可以尝试这件事

var myArray = ['#rock', '#paper', '#scissors']; 
$('#putHere').text(myArray[Math.floor(Math.random() * myArray.length)]);

答案 1 :(得分:1)

使用数组来保存选择器并使用Math.random方法随机生成索引。

var sel = ["#rock", "#paper", "#scissors"];

$('#rock').on('click', function() {
  $('#putHere').text($(sel[Math.floor(Math.random() * sel.length)]).text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="rock">rock</div>
<div id="paper">paper</div>
<div id="scissors">scissors</div>


<div id="putHere"></div>

或者使用元素集合而不是选择器数组。

var $el = $("#rock,#paper,#scissors");

$('#rock').on('click', function() {
  $('#putHere').text($el.eq([Math.floor(Math.random() * $el.length)]).text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="rock">rock</div>
<div id="paper">paper</div>
<div id="scissors">scissors</div>


<div id="putHere"></div>