【发布时间】:2012-08-23 01:10:17
【问题描述】:
这是我的问题的相当简化的版本:
我有什么:
<td id='cell'><input name="elem_1_Name"/></td>
我想要什么:
<td id='cell'><input name="elem_1_Name"/><input name="elem_5_Name"/></td>
我尝试过的:
var elem = document.getElementById("cell").lastChild.cloneNode(true);
然后:
elem.name = elem.name.replace("1","5");
或
elem.name = "elem_5_Name";
或
elem.setAttribute("name","elem_5_Name");
最后
document.getElementById("cell").appendChild(elem);
调试时我得到了什么:
elem.name : "elem_5_Name"
!!但是!!
document.getElementById("cell").innerHTML : <input name="elem_1_Name"/><input name="elem_1_Name"/>
当我尝试直接设置 innerHTML - 我有 IE 未知的运行时错误
【问题讨论】:
-
您的第一次尝试(使用
replace)在 Chrome 中适用于我:jsfiddle.net/jackwanders/UDuBT -
在 Chrome 和 IE8 中为我工作:jsfiddle.net/j08691/42LHk
-
所有这些都在 Chrome 上为我工作:jsfiddle.net/ffaQn
标签: javascript internet-explorer dom element