拆卸和附加

时间:2011-06-05 03:26:34

标签: javascript jquery

我有以下内容:

$('th').click(function() {
    var $th = $(this);
    var column = $th.index();
    var $table = $th.closest('table');
    var rows = $table.find('tbody > tr').get();
    rows.sort(function(rowA,rowB) {
        var keyA = $(rowA).children('td').eq(column).text().toUpperCase();
        var keyB = $(rowB).children('td').eq(column).text().toUpperCase();
        if (keyA < keyB) return -1;
        if (keyA > keyB) return 1;
        return 0;
    });
    $.each(rows, function(index,row) {
      $table.children('tbody').append(row);
    });
});

我认为如果我在排序之前分离tbody并将其附加回来,它会执行得更快。

问:我如何使用分离和附加来正确地将tbody移入和移出DOM?

1 个答案:

答案 0 :(得分:1)

我相信您需要知道该表的来源...即如果该表位于ID =“tablewrapper”的包装器DIV中,您可以将var $table行更改为:

var $table = $th.closest('table').detach();

并在功能结束时添加:

$table.appendTo('#tablewrapper');

我不相信分离它会加快速度,并对你得到的结果感兴趣。