JS: Randomize Node Children

By Xah Lee. Date: . Last updated: .

Here's a fast function to randomize a element's children. The element can be ul or ol list or any element.

Example:

Here's 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 JS: Replace All Children, createDocumentFragment]

[see JS: Random Array Element, Randomize Array]

Like it? Help me by telling your friends. Or, Put $5 at patreon.

Or, Buy JavaScript in Depth

If you have a question, put $5 at patreon and message me.

Web Dev Tutorials

  1. HTML
  2. CSS
  3. JavaScript
  4. JS Obj Ref
  5. DOM
  6. SVG
  7. Blog