我有个棘手的问题要解决。我试图使用jquery或任何可用的插件随机地对表及其数据的列进行洗牌。
我可以将列移到特定位置,但我想要实现的是将列及其数据随机地洗牌到任何位置。
示例:
实际:
<table>
<tr>
    <td>One</td>
    <td>Two</td>
    <td>Three</td>
    <td>Four</td>
</tr>
<tr>
    <td>Data One</td>
    <td>Data Two</td>
    <td>Data Three</td>
    <td>Data Four</td>
</tr>
</table>预期:(不是确切的格式,因为我希望列被随机地洗牌到任何位置)
<table>
<tr>
    <td>Two</td>
    <td>Five</td>
    <td>One</td>
    <td>Three</td>
    <td>Four</td>
</tr>
<tr>
    <td>Data Two</td>
    <td>Data Five</td>
    <td>Data One</td>
    <td>Data Three</td>
    <td>Data Four</td>
</tr> 
</table>发布于 2013-07-16 19:18:25
实际上,使用外部库是非常简单的。下划线JS有一种洗牌方法,可以用来取得很大的效果。
洗牌:http://underscorejs.org/#shuffle
见此处:http://jsfiddle.net/KyleMuir/NfvBa/
var rows = $('tr');
$.each(rows, function(index, value) {
    var cells = $('td', value);
    var shuffledCells = _.shuffle(cells);
    $(this).html(shuffledCells);
});这就够了。
编辑:给出了希望数据一起移动的新要求,我把这个示例放在一起:http://jsfiddle.net/KyleMuir/NfvBa/3/
在本例中,我将我们感兴趣的数据存储为名称值对数组。这样,我们就可以对数组进行一次洗牌,然后提取我们感兴趣的属性。在提取值之后,我将它们注入表行中。我给出了表行类,但是可以使用直接的CSS选择器来完成。
希望这能有所帮助。
https://stackoverflow.com/questions/17684729
复制相似问题