将修改后的元素分配回元素数组时IE中出错:Object不支持此属性或方法

时间:2011-11-17 15:16:14

标签: javascript

我在div标签中存储了多个表单元素,通过单击按钮可以轻松扩展包含更多字段的表单。 (div中的元素是一种模板) 在我的表单中的另一组元素之前,我必须编辑名称和ID以便稍后区分它们。 所以这是我的函数,在我的表单中添加另一组字段:

function moreFields() {
counter++;
var newFields = document.getElementById('template').cloneNode(true);
newFields.id = '';
newFields.style.display = 'block';
var newField = newFields.childNodes;
for (var i=0;i<newField.length;i++) {
    newField[i]=changeNames(newField[i]);
}
var insertHere = document.getElementById('insertHere');
insertHere.parentNode.insertBefore(newFields,insertHere);
return false;
}

在changeNames函数中操作ID和名称,并返回新标记。这在firefox中运行良好,但IE在行newField[i]=changeNames(newField[i]):处给出以下错误消息。

  

“对象不支持此属性或方法”

我也尝试过:

tag=changeNames(newField[i]);
newField[i]=tag;

然后错误位于newField[i]=tag;行。

我该怎么办?非常感谢!

0 个答案:

没有答案