Javascript 获取随机块
我有ID为从Javascript 获取随机块,javascript,jquery,random,Javascript,Jquery,Random,我有ID为从block1到block10的块 像这样: <div id="block1"></div> <div id="block2"></div> <div id="block3"></div> <div id="block4"></div> <div id="block5"></div> <div id="block6"></div> <di
block1
到block10
的块
像这样:
<div id="block1"></div>
<div id="block2"></div>
<div id="block3"></div>
<div id="block4"></div>
<div id="block5"></div>
<div id="block6"></div>
<div id="block7"></div>
<div id="block8"></div>
<div id="block9"></div>
<div id="block10"></div>
如何获得id范围为1到10的随机块?
var randomnumber=Math.floor(Math.random()*10) + 1;
var obj = document.getElementById('block' + randomnumber);
jQuery:
var randomnumber=Math.floor(Math.random()*10) + 1;
var obj = $('#block' + randomnumber);
首先得到一个介于1和10之间的随机数 var num=Math.floor(Math.random()*11) 然后获取id+num的元素
var元素=document.getElementById('block'+num) 您必须使用javascript生成一个随机数,然后只需使用jQuery选择器,如
var randomNumber=Math.floor(Math.random()*11)
var chosenBlock = $('#block'+randomNumber);
其中11表示随机数将介于0-10之间。要将范围增加到100,只需将11改为101
编辑:
记住从0开始给你的区块编号。前两个答案不太正确。他们将检索0到10之间的数字,因为他们使用的是floor,而不是1到10 随机数计算的工作原理如下:
var randNumber = 1 + Math.floor(Math.random() * 10);
var randId = 'block' + randNumber;
var obj = document.GetElementById(randId);
现在obj持有div对象,randId是随机div的id。或者您可以在最后一行使用jQuery:
var obj = $('#' + randId);
+1.我唯一要做的更改是使用jQuery,因为他将其标记为jQuery,我想他正在使用它:
$(“#block”+randomnumber)代码>你还可以通过解释随机数选择的工作原理(或至少链接到解释它的内容)来让答案更透彻一点@Happy:the+1指的是我对他的答案的投票,与答案的实际内容无关。@jball this line“Math.floor(Math.random()*10)+1+1表示随机数的最小值为1。Math.floor(Math.random()*10)返回0-9,而Math.floor(Math.random()*10)+1返回1-10var num=Math.floor(Math.random()*11)代码>返回一个介于0和11之间(含0和11)的数字<代码>变量元素=document.getElementById('block'+0)代码>将失败。复制/粘贴Jonathon答案中的我的注释,您犯了相同的0范围错误:var randomNumber=Math.floor(Math.random()*11)代码>返回一个介于0和11之间(含0和11)的数字<代码>var chosenBlock=$(“#block”+0)代码>将失败。部分复制自请始终添加属性。