2013-06-19 38 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()方法來刪除單擊項,然後添加它只是它上面的元素之前(找出你如何能得到它上面的元素的引用)