ページ撹拌
コード
(function(f){f(document,f)})(function(e,f){ for(var t=e.childNodes,i=0,l=t.length,a=[];i<l;i++){ if(t[i].hasChildNodes()) f(t[i],f); a[i]=i } a.sort(Math.random); for(i=0;i<a.length;i++) e.appendChild(t[a[i]]) })
解説
各要素に対して、そのchildNodesを(持っていれば)ランダムに入れ替えます。
element.hasChildNodes()はそのままの意味です。
気をつけなければならないのが、brも要素だということです。
余談
入れ子構造を破壊したりはしません。
そういえば、Array.sort(Math.random)って規則性があるような?
1行スクリプト ホーム