2017-01-03 3 views
2

У меня есть набор элементов на странице с одним и тем же классом, но у всех есть другой идентификатор. Я хочу выбрать случайный элемент и получить его идентификатор, чтобы затем его можно было использовать в другой функции.выберите случайный идентификатор из набора элементов с тем же классом

<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 до 'length' из результирующий объект и выберите один конкретный элемент по индексу. –

ответ

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>

0

Сначала соберите все дивы с element класса.

var elements = $(".element"); 

А потом

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

Смотреть это SO question