从具有相同类的元素集中选择随机id

时间:2017-01-03 14:20:29

标签: javascript jquery html

我在页面上有一组所有具有相同类但但都具有不同ID的元素。我希望选择一个随机元素并获取它的id,以便它可以在另一个函数中使用。

<div id="7469" class="element"> ... </div>
<div id="0184" class="element"> ... </div>
<div id="3986" class="element"> ... </div>
<div id="1295" class="element"> ... </div>
<div id="5704" class="element"> ... </div>
and so on...

2 个答案:

答案 0 :(得分:0)

随机生成索引并根据索引获取元素。使用Math.random和jQuery eq()方法。

var $ele = $('.element');

console.log($ele.eq(Math.floor(Math.random()*($ele.length - 1))).attr('id'))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="7469" class="element">...</div>
<div id="0184" class="element">...</div>
<div id="3986" class="element">...</div>
<div id="1295" class="element">...</div>
<div id="5704" class="element">...</div>

答案 1 :(得分:0)

首先使用element类收集所有div。

var elements = $(".element");

然后

var randomelement = elements[Math.floor(Math.random() * elements.length)];
var randomid = $(elements[randomelement].attr("id"))
console.log(randomid)

请参阅此SO question