【问题标题】:What's the best way in Javascript to delete row from html table?Javascript中从html表中删除行的最佳方法是什么?
【发布时间】:2017-06-13 04:44:22
【问题描述】:

在 Javascript 中从 html 表中删除行的最佳方法是什么? 元素<td> 包含 colspan 和 rowspan more 1。 DOM 中的函数 deleteRow() 没有考虑 colspans 和 rowspans。

【问题讨论】:

标签: javascript html-table row


【解决方案1】:

听起来您的表格正在折叠,因为每行中的单元格数量不再相等。这是可以预料的。您需要替换受影响行中缺失的单元格。

Colspan 不应该是一个问题,因为它全部在被删除的一行上。然而,行跨度会影响其他行,所以:

1) 使用 getElementsByTagName,从 tr 节点(不是文档)获取所有 td 元素,然后遍历它们以使用 getAttribute 检查 rowspan 属性

2) 如果其中一个属性以数字形式返回,您需要遍历那么多行减去 1,并在可能存在行跨度的点插入一个 td。
如果还有 colspan 正在进行,您将需要跟踪这些以确定 td 真正在哪一列。当您插入新的 td 时,您还必须注意后续行中的 colspan。

3) 如果您想在后面的行中重新添加内容,您可能需要抓取原始 td 的 innerHTML 或子节点并将它们存储在内存中,一旦删除该行,内容也将消失。

4) 完成此操作后,现在终于可以安全地删除该行了。

【讨论】:

    【解决方案2】:

    如果你已经加载了 jQuery

    $('tr#id_of_the_row').remove();
    

    【讨论】:

      猜你喜欢
      • 2011-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-15
      • 2015-06-05
      • 1970-01-01
      相关资源
      最近更新 更多