2013-06-19 74 views
0

如果用户点击它,我想在table中向上移动tableRow。 下面是HTML:通过遍历Javascript中的整个表访问tableRow的id值

<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。 任何想法如何克服这个问题? (也许整个方法是错误的,所以如果你有更好的主意让我知道。)

+0

http://stackoverflow.com/questions/1569889/jquery-move-table-row这用了jQuery – DDK

回答

0

,如果您需要该行的内容:

var id =document.getElementById("table-id").rows[i].id; 
+0

我需要的ID,而不是整个HTML –

+0

编辑后,我认为这如果您只在 内部输入,则工作 – Muath

+0

并在您的代码内moveUp() alert(th is.id); 它也可以 – Muath

0

使用jQuery。 jQuery中的after(),insertAfter()[或before()和insertBefore()]等方法可能适用于您的目的。

您可以使用remove()方法来删除单击项,然后添加它只是它上面的元素之前(找出你如何能得到它上面的元素的引用)