<html>
<body>
Клик.
<table id='music'>
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr id="play"><td>play</td></tr>
<tr><td>кplay</td></tr>
<tr><td>3</td></tr>
<tr><td>4</td></tr>
<tr><td>5</td></tr>
<tr><td>6</td></tr>
<tr><td>7</td></tr>
<tr><td>8</td></tr>
<tr><td>9</td></tr>
<tr><td>10</td></tr>
<tr><td>11</td></tr>
<tr><td>12</td></tr>
</table>
<script>
window.onclick = function(){
var d = document,
table = d.getElementById('music'),
fragment = d.createDocumentFragment(),
tr = table.rows,
arr = [], i , j;
table=tr[0].parentNode; //ибо tbody итп
i=d.getElementById('play').rowIndex;
fragment.appendChild(tr[i]);
fragment.appendChild(tr[i]);
i=j=tr.length;
if('v'=='\v') while(i--) arr.push(tr[i]); //ie<9
else arr=arr.slice.call(tr);
table.insertBefore( fragment, tr[0] )
return function(){
i=j;
arr.sort(function(){return .5-Math.random()})
while(i--) table.appendChild( arr[i] )
}
}();
</script>
</body>
</html>
Если я правильно понял. Вообще подгонять скрипт под вёрстку нехорошо. Надо работать сразу над тем и над другим, только тогда будет и красиво и быстро.