Javascript中从html表中删除行的最佳方法是什么?

时间:2010-10-14 10:06:42

标签: javascript html-table row

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

2 个答案:

答案 0 :(得分:1)

听起来你的桌子正在折叠,因为它不再在每一行中有相同数量的单元格。这是可以预料的。您需要替换受影响行中缺少的单元格。

Colspan不应该是一个问题,因为它的所有一行都被删除了。然而,Rowspan会影响其他行,所以:

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

2)如果其中一个属性以数字形式返回,则需要经过那么多行减去1并在td的行间距处插入一个td。
如果还有colspans,你需要跟踪这些以确定td真正位于哪一列。当你来插入新的td时,你还需要注意以下行中的colspans。

3)如果要在以下行中重新添加内容,可能需要获取原始td的innerHTML或子节点并将其存储在内存中,一旦删除该行,内容也将消失。

4)一旦你完成了,现在最终可以安全地删除该行。

答案 1 :(得分:0)

如果你已经加载了jQuery

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