首页 > 解决方案 > 在for循环中随机插入

问题描述

我想在我的 for 循环中使用多个元素随机化我的 HTML 输出:

var h = document.getElementById("test_block");
for(i = 0; i < 7; i++) {
  h.insertAdjacentHTML("afterend", "<div class='one_hour onesy'><p>Foo</p></div>");
}

在 forloop 中随机输出:

<div class='one_hour onesy'><p>Foo</p></div>
<div class='two_hour onesy'><p>Loo</p></div>
<div class='three_hour onesy'><p>Too</p></div>

所以我想让相邻的 HTML 随机成为这些行之一。我怎样才能做到这一点?

标签: javascript

解决方案


让我们看看这是否有帮助:

var results = [
  '<div class="one_hour onesy"><p>Foo</p></div>',
  '<div class="two_hour onesy"><p>Foo</p></div>',
  'whatever',
  ...
];

for(i = 0; i < 7; i++) {
  h.insertAdjacentHTML("afterend", results[Math.floor((Math.random() * results.length))]);
}

推荐阅读