这是我的问题的相当简化的版本:
我有什么:
<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未知运行时错误
最佳答案
name
attribute/property在早期的 IE 版本中很奇怪。参见
- http://javascript.about.com/library/bliebug2.htm
- http://thunderguy.com/semicolon/2005/05/23/setting-the-name-attribute-in-internet-explorer/
(来自 this question )
关于javascript - 无法更改元素的 'name' 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12077467/