【问题标题】:How might I use jQuery to move table row elements around in some way?我如何使用 jQuery 以某种方式移动表格行元素?
【发布时间】:2010-01-14 11:19:27
【问题描述】:

我有一张这样的桌子:

<table>
  <tr>  
    <td>something</td>
  </tr>
  <tr>
    <td>something else</td>
  </tr>
</table>

现在基于 td 中的 id,我想移动 tr,以便它们处于 id 所持有的位置。关于如何做到这一点的任何想法?

【问题讨论】:

  • ...这是什么意思? 应该有 ID 属性吗?
  • trs 已经处于ids 所持有的位置,这些@s 包含在tds 中......这与欧洲已经处于所持有的位置的方式大致相同由位于法国的巴黎。你的 ID 有序号吗?
  • 我已经读了代码后面的第一句话有一段时间了,只是无法理解。为那些试图回答这个问题的勇敢的人点赞。

标签: jquery html dom


【解决方案1】:

您可以使用 parent() 函数选择 tr。例如,

$("#td-id").parent().appendTo("table");

会将包含 id 为“td-id”的 td 的 tr 移动到表格的底部。

【讨论】:

    【解决方案2】:

    不适合订购大桌子,但是当我不久前写它时,这对我有用。您将订购不同的东西(行 ID),因此您必须更改它以满足您的需求。

    第一个参数是要排序的表,第二个参数是要排序的列。

    您将更改所有 cIndex 内容以使用您的 rowid。

    function SortTable(stable, cIndex)
    {
        var rows = $(stable).find("tr");
        var count = $(rows).size();
    
        for (var i = 0; i < count - 1; i++)
        {
            var r1 = $(rows[i]);
            var r2 = $(rows[i + 1]);
    
            var td1 = $(r1).find("td")[cIndex];
            var td2 = $(r2).find("td")[cIndex];
    
            var d1 = parseInt($(td1).html());
            var d2 = parseInt($(td2).html());
    
            if (d1 < d2)
            {
                var t = rows[i];
                rows[i] = rows[i + 1]
                rows[i + 1] = t;
                i = -1;
            }
        }
    
        var tbody = $(stable);
        tbody.empty();
        for (var i = 0; i < count; i++)
        {
            $(tbody).append(rows[i]);
        }
    }
    

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签