首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 ><table>列的随机洗牌

<table>列的随机洗牌
EN

Stack Overflow用户
提问于 2013-07-16 18:54:00
回答 1查看 2K关注 0票数 1

我有个棘手的问题要解决。我试图使用jquery或任何可用的插件随机地对表及其数据的列进行洗牌。

我可以将列移到特定位置,但我想要实现的是将列及其数据随机地洗牌到任何位置。

示例:

实际:

代码语言:javascript
运行
复制
<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>

预期:(不是确切的格式,因为我希望列被随机地洗牌到任何位置)

代码语言:javascript
运行
复制
<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>
EN

回答 1

Stack Overflow用户

发布于 2013-07-16 19:18:25

实际上,使用外部库是非常简单的。下划线JS有一种洗牌方法,可以用来取得很大的效果。

洗牌:http://underscorejs.org/#shuffle

见此处:http://jsfiddle.net/KyleMuir/NfvBa/

代码语言:javascript
运行
复制
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选择器来完成。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17684729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档