对未知数量的元素执行Jquery循环

Jquery loop on unknown number of elements

本文关键字:执行 Jquery 循环 元素 未知数      更新时间:2023-09-26

我正试图找出如何使用未知数量的元素构建forEach循环。随机选择一个,对其进行XYZ操作。使其可见。不要考虑这个因素。重复从其余元素中拾取一个随机数。

到目前为止,我的想法是制作一个元素id的数组。使用数组.forEach()对它们进行循环。从阵列中随机选择一个元素。执行XYZ,然后从数组中删除选定的id,然后重复,直到forEach过期。

所以,首先,如果你能想出一个更好的方法,我对任何想法都持开放态度。

我没走多远就遇到了第一个障碍,那就是动态生成id的数组。

我得到了元素的数量(它们总是父元素的子元素,所以不用担心。

//get count of all elements and loop till all are visible
var elementCount = $('#PartialsContainer').children().size();

接下来我要生成我的数组,但它导致数组中的一个元素持有elementCount的值。

//create array of quantity
var elementArray = $.makeArray( elementCount );

所以我可以对元素进行循环,得到它们的id,但肯定有更好的方法吗?

for (var i = 0; i < elementCount; i++) 
{
    elementArray.push( $element[i] //its pseudo code I know it won't work );
}

感谢您对改进此设计/方法的任何想法/提示。

尝试类似的东西

var $els = $('#PartialsContainer').children();
while($els.length){
    var $el = $els.eq(Math.floor(Math.random() * $els.length));
    //do something with $el
    $els = $els.not($el);
}

演示:Fiddle