javascript insertBefore()遇到困难

时间:2014-03-10 17:22:14

标签: javascript

我正在尝试动态地向表中添加行。它可以正常使用以下代码:

var tableAdd = document.getElementById(tableChoice);
var lastRow = tableAdd.getElementsByTagName('tr').length;
var cloneRow = document.getElementById(RowID + '1');
var newRow = cloneRow.cloneNode(true);
newRow.id = RowID + lastRow;
tableAdd.appendChild(newRow);

但是,由于它的设计方式,这会在呈现的HTML中与相应的行之间留下空隙。这个空间是一个隐藏的行,无需复制其中的“数据”即可复制。

我提出的解决方案是基本上通过使用以下代码在隐藏的“模板”行上方插入克隆行来发送下面的空白:

var tableAdd = document.getElementById(tableChoice);
var lastRow = tableAdd.getElementsByTagName('tr').length;
var cloneRow = document.getElementById(RowID + '1');
var newRow = cloneRow.cloneNode(true);
newRow.id = RowID + lastRow;
tableAdd.insertBefore(newRow,cloneRow);

从我所做的所有搜索中,这应该有效....除非它没有。它只是冻结了应用程序,然后引发了一个神秘的错误:

0x800a139e - JavaScript runtime error: NotFoundError

对我做错的任何帮助?

0 个答案:

没有答案