我正在克隆一个表行以在表中创建一个新行。我的问题是,当我克隆时,所有的html元素都与前一行中的元素名称相同。我正在使用此代码:
function incrCapexNode()
{
var row = document.getElementById("rowToClone"); // find row to copy
var table = document.getElementById("capex_table"); // find table to append to
var clone = row.cloneNode(true); // copy children too
clone.id = "newID"; // change id or other attributes/contents
table.appendChild(clone); // add new row to end of table
}
是否可以帮助我重新命名创建的新行中的html元素。
答案 0 :(得分:1)
我最后一次必须这样做,我所做的就是为名称引入一个唯一的变量来唯一地识别它。因此名称变为x123,下一个名称为x124等。 您可以使用guid执行此操作,但这取决于您的数据的唯一性。
答案 1 :(得分:0)
您不应该使用 appendChild 将行附加到表中,因为它会在大多数IE版本中引发错误,而是将其附加到 tbody 元素:
table.tBodies[0].appendChild(clone);
对于 id (不是名称),使用递增值计算方案以确保每行具有唯一ID。如果你分析你的要求,你可能不需要id。