使用jQuery以特定模式移动表行

使用jQuery以特定模式移动表行,jquery,html,Jquery,Html,我有一张桌子,上面的行基本上是这样的 正常行 正常行 正常行 摘要行 正常行 摘要行 正常行 正常行 摘要行 所以基本上是X“普通行”,后面总是跟一个“汇总行”。摘要行显示普通行中数据的聚合。我在运行时计算聚合,因此“摘要行”自然放在它们聚合的正常行之后 我所需要做的就是在运行时将每个“摘要行”移动到它前面的“普通行”束的上方。因此,我最终得出以下结论: 摘要行 正常行 正常行 正常行 摘要行 正常行 摘要行 正常行 正常行 。。等等 因此,通过给他们提供适当的css类,比如class=

我有一张桌子,上面的行基本上是这样的

  • 正常行
  • 正常行
  • 正常行
  • 摘要行
  • 正常行
  • 摘要行
  • 正常行
  • 正常行
  • 摘要行
所以基本上是X“普通行”,后面总是跟一个“汇总行”。摘要行显示普通行中数据的聚合。我在运行时计算聚合,因此“摘要行”自然放在它们聚合的正常行之后

我所需要做的就是在运行时将每个“摘要行”移动到它前面的“普通行”束的上方。因此,我最终得出以下结论:

  • 摘要行
  • 正常行
  • 正常行
  • 正常行
  • 摘要行
  • 正常行
  • 摘要行
  • 正常行
  • 正常行
。。等等

因此,通过给他们提供适当的css类,比如class=“summary”和class=“normal”,我希望编写一个选择器查询来匹配每个“summary行”,并有效地将其移动到前面的第一个“normal行”之上


最优雅的jquery方式是什么?

请参阅下面的粗略演示。我采用的方法是从最后一个摘要行开始,然后将其移动到前一个摘要行之后。当然,第一个摘要没有前一行,因此您需要对此进行检查,并将其移动到tbody中的第一行。

请参阅下面的粗略演示。我采用的方法是从最后一个摘要行开始,然后将其移动到前一个摘要行之后。当然,第一个摘要没有前一行,因此您需要检查这一行,并将其移动到tbody中的第一行。

我想如果您将标记更改为

<table>
  <tbody>
    <tr>Normal Row
    <tr>Normal Row
    <tr>Normal Row
    <tr>Summary Row
  <tbody>
    <tr>Normal Row
    <tr>Summary Row
  <tbody>
    <tr>Normal Row
    <tr>Normal Row
    <tr>Summary Row
</table>

正常行
正常行
正常行
摘要行
正常行
摘要行
正常行
正常行
摘要行

HTH.

我想如果您将标记更改为

<table>
  <tbody>
    <tr>Normal Row
    <tr>Normal Row
    <tr>Normal Row
    <tr>Summary Row
  <tbody>
    <tr>Normal Row
    <tr>Summary Row
  <tbody>
    <tr>Normal Row
    <tr>Normal Row
    <tr>Summary Row
</table>

正常行
正常行
正常行
摘要行
正常行
摘要行
正常行
正常行
摘要行

HTH.

redsquare,请尝试jsbin.com获取此。。。我的最爱!:){你的例子:-添加/编辑url是你想要编辑的}我知道,我帮雷米调试了一些jsbin。我发现pastebin对于简单的演示来说工作得更快。这是一个漂亮而优雅的redsquare。非常感谢你的贡献。没问题,很乐意帮忙。祝你好运。redsquare,试试jsbin.com吧。。。我的最爱!:){你的例子:-添加/编辑url是你想要编辑的}我知道,我帮雷米调试了一些jsbin。我发现pastebin对于简单的演示来说工作得更快。这是一个漂亮而优雅的redsquare。非常感谢你的贡献。没问题,很乐意帮忙。祝你好运。