首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FireFox中的Javascript cloneNode问题

FireFox中的Javascript cloneNode问题
EN

Stack Overflow用户
提问于 2011-08-24 01:03:29
回答 1查看 650关注 0票数 0

下面的JavaScript在in中运行良好,但在FireFox中不起作用。

它挂在"NewField is undefined“处,这是下面这行:

代码语言:javascript
复制
for (var i=0;i<NewField.length;i++)

这是一个循环,它将重命名该表行上的表单字段。

在这里您可以看到整个页面的http://www.sorenwinslow.com/CloneRowTest.asp

代码语言:javascript
复制
function CloneRows(TableRowId)
{
var NumRows = document.forms["TestForm"].NumRows.value;
NumRows++;
document.forms["TestForm"].NumRows.value = NumRows;
var RowToClone = document.getElementById(TableRowId);
var NewTableRow = RowToClone.cloneNode(true);
NewTableRow.id = TableRowId + NumRows ;
NewTableRow.style.display = "table-row";
var NewField = NewTableRow.all;
for (var i=0;i<NewField.length;i++)
{
    var theName = NewField[i].name;
    if (theName)
    {
        NewField[i].name = theName + NumRows;
    }
}
var insertHere = document.getElementById(TableRowId);
insertHere.parentNode.insertBefore(NewTableRow,insertHere);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-24 01:12:54

.all通常不存在,只有document.all,但它甚至不是标准的。Internet Explorer有一些自定义属性,但您不应该依赖它们。您可能需要.children

代码语言:javascript
复制
var NewField = NewTableRow.children;

.cells

代码语言:javascript
复制
var NewField = NewTableRow.cells;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7164779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档