JavaScript: Randomize Node Children ð
Here is a fast function to randomize a element's children.
The element can be ul
or ol
list or any element.
Example:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Here is the code.
The code is fast, tested on over 1 thousand children elements.
const xah_randomize_children_f = ((nodeX) => { // nodeX can be any html element // randomize its children // http://xahlee.info/js/js_dom_randomize_list.html // version 2017-05-11 const newNode = nodeX.cloneNode(true); const xChildren = newNode.children; const newNodeFrag = document.createDocumentFragment(); while (xChildren.length > 0) { newNodeFrag.appendChild( xChildren [Math.floor(Math.random() * xChildren.length)] ); }; nodeX.innerHTML = ""; nodeX.appendChild(newNodeFrag); });
[see Replace All Children, createDocumentFragment]