js-dom-动态创建html标签时,name属性的初始化问题

时间:2022-06-03 22:31:39

当我们动态创建可包含Name属性的元素时,不能简单的使用赋值element.name = "..."来添加其Name, 而必须在创建Element时,使用document.createElement('<element name = "myName"></element>')为 元素添加Name属性。这是什么意思啊?看下面的例子就明白了。 <script language="JavaScript"> var input = document.createElement('INPUT'); input.id = 'myId'; input.name = 'myName'; alert(input.outerHTML); </script> 消息框里显示的结果是:<INPUT id=myId>。 <script language="JavaScript"> var input = document.createElement('<INPUT name="myName">'); input.id = 'myId'; alert(input.outerHTML); </script> 消息框里显示的结果是:<INPUT id=myId name=myName>。 初始化Name属性的这个设计不是IE的缺陷,因为MSDN里说了要这么做的,可是这样设计的原理什么呢? 我暂时没有想太明白。