0

如果用户单击它,我想在 html 表中向上移动 tableRow。这是html:

<tr id="duration_row" onclick="moveUp('duration_row', 'sort_table')">

我决定编写自己的 Javascript 函数,所以这是我要使用的函数:

function moveUp(row, table){
//  alert(document.getElementById(table).rows[5]);
//  alert(up);
var rows = document.getElementById(table).rows;

for ( var i = 1; i < rows.length; i++) {
    if (row === rows[i]) {

        var tempRow = rows[i - 1];
        rows[i - 1] = rows[i];
        rows[i] = tempRow;
    }
}

}

它非常简单,它遍历表行数组并将匹配的行与上面的行交换。它仍然不起作用,因为它将字符串与对象 HTMLTableRowElement 进行比较。所以我需要获取 HTMLTableRowElement 的 id。知道如何克服这个问题吗?(也许整个方法是错误的,所以如果你有更好的主意,请告诉我。)

4

2 回答 2

0

使用 jQuery。jQuery 中的 after()、insertAfter() [或 before() 和 insertBefore()] 等方法可能会满足您的目的。

您可以使用 remove() 方法删除单击的项目,然后将其附加到其上方的元素之前(弄清楚如何获取其上方元素的引用)

于 2013-06-19T11:18:22.220 回答
0

如果您需要该行的内容:

 var id =document.getElementById("table-id").rows[i].id;
于 2013-06-19T11:38:23.850 回答