【问题标题】:Access the tableRow id value by iterating over the whole table in Javascript通过在 Javascript 中遍历整个表来访问 tableRow id 值
【发布时间】:2013-06-19 10:58:09
【问题描述】:

如果用户单击它,我想在 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。 知道如何克服这个问题吗? (也许整个方法都是错误的,所以如果您有更好的想法,请告诉我。)

【问题讨论】:

标签: javascript html loops html-table row


【解决方案1】:

如果您需要该行的内容:

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

【讨论】:

  • 我需要 id,而不是整个 html
  • 如果你只在 moveUp() alert(this.id);它也有效
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2012-09-17
    • 2012-12-03
    • 1970-01-01
    • 2020-12-04
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多