我有一个样本:
我希望具有 "item-extra"
类的元素随机显示在元素列表中。
现在,代码重新排列所有元素。
我希望其余部分保持固定,只有带有 "item-extra
"类的那个会被移动到每个页面重新加载。
var ul = document.querySelector('ul');
for (var i = ul.children.length; i >= 0; i--) {
ul.appendChild(ul.children[Math.random() * i | 0]);
}
.item-extra {
color: red;
}
<ul>
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
<li>item 4</li>
<li>item 5</li>
<li class="item-extra">item extra</li>
</ul>
最佳答案
您可以使用 .insertBefore() 函数执行此操作。
例子:
var ul = document.querySelector('ul');
var itemExtra = document.querySelector('.item-extra');
var ulLength = ul.children.length;
ul.insertBefore(itemExtra, ul.children[Math.random() * ulLength | 0]);
.item-extra {
color: red;
}
<ul>
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
<li>item 4</li>
<li>item 5</li>
<li class="item-extra">item extra</li>
</ul>
关于javascript - 显示元素列表中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58093022/