gpt4 book ai didi

javascript - 如何随机排序列表项?

转载 作者:数据小太阳 更新时间:2023-10-29 03:58:30 27 4
gpt4 key购买 nike

我目前有这段随机排序列表项的代码:

var $ul = $('#some-ul-id');
$('li', $ul).sort(function(){
return ( Math.round( Math.random() ) - 0.5 )
}).appendTo($ul);

但是,有没有更好的解决方案呢?

最佳答案

this question and answer thread .我喜欢用户 gruppler 提供的这个解决方案:

$.fn.randomize = function(selector){
var $elems = selector ? $(this).find(selector) : $(this).children(),
$parents = $elems.parent();

$parents.each(function(){
$(this).children(selector).sort(function(){
return Math.round(Math.random()) - 0.5;
// }). remove().appendTo(this); // 2014-05-24: Removed `random` but leaving for reference. See notes under 'ANOTHER EDIT'
}).detach().appendTo(this);
});

return this;
};

编辑:下面的使用说明。

随机化所有<li>每个“.member”中的元素 <div> :

$('.member').randomize('li');

将每个 <ul> 的所有 child 随机化:

$('ul').randomize();

另一个编辑: akalata 在评论中让我知道 detach()可以用来代替 remove()主要好处是如果任何数据或附加的监听器连接到一个元素并且它们是随机的,detach()将使它们保持原位。 remove()只会把听众赶出去。

关于javascript - 如何随机排序列表项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14555415/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com