【问题标题】:select random id from set of elements with the same class [duplicate]从具有相同类的元素集中选择随机ID [重复]
【发布时间】: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 之间选择一个随机数,并按索引选择一个特定元素。

标签: javascript jquery html


【解决方案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

    【讨论】:

      猜你喜欢
      • 2012-06-26
      • 2016-09-29
      • 2017-05-12
      • 1970-01-01
      • 2013-04-07
      • 1970-01-01
      • 2012-01-23
      • 2011-01-09
      • 1970-01-01
      相关资源
      最近更新 更多