从具有相同类的元素集中选择随机ID [重复]
Posted
技术标签:
【中文标题】从具有相同类的元素集中选择随机ID [重复]【英文标题】:select random id from set of elements with the same class [duplicate] 【发布时间】:2017-05-17 16:01:16 【问题描述】:我在一个页面上有一组元素,它们都具有相同的类,但都有不同的 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...
【问题讨论】:
如果您使用$('.element')
选择,您可以从结果对象的0 到length
之间选择一个随机数,并按索引选择一个特定元素。
【参考方案1】:
随机生成索引,根据索引获取元素。为此使用 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>
【讨论】:
【参考方案2】:首先收集 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
【讨论】:
以上是关于从具有相同类的元素集中选择随机ID [重复]的主要内容,如果未能解决你的问题,请参考以下文章
从使用 jQuery 的代码中指定的元素中选择具有给定类的下一个元素