我正在尝试获取一些带有 id 的 div 来随机化它们出现的顺序。我找到了一个据说可以做到这一点的脚本,但是对于我的生活,我无法弄清楚为什么我的不工作.
基本上,当页面加载时,HTML 将如下所示:
<div class="main">
<div id="box">1</div>
<div id="box">2</div>
<div id="box">3</div>
<div id="box">4</div>
</div>
但是应用时的代码将随机化它们出现的顺序(在浏览器中),如下所示:
<div class="main">
<div id="box">3</div>
<div id="box">1</div>
<div id="box">4</div>
<div id="box">2</div>
</div>
这是据说可以使它全部工作的javascript:
function reorder() {
var grp = $(".main").children();
var cnt = grp.length;
var temp,x;
for (var i = 0; i < cnt; i++) {
temp = grp[i];
x = Math.floor(Math.random() * cnt);
grp[i] = grp[x];
grp[x] = temp;
}
$(grp).remove();
$(".main").append($(grp));
}
我以为是因为我有一个 id 属性,但即使我把它去掉并使它成为一个普通的旧 div 标签,它也不起作用:/
这是有问题的代码的 js fiddle 之类的... js fiddle
这里有几个类似的问题,但都是老话题,所以我希望没有人介意我提出一个新的问题。我对javascript还是很陌生,如果这还不是很明显:D