IE Code:
< script type ="text/javascript" >
function add() {
var input = document.createElement( " <input size=30 type=\ " text\ " name=\ " extrachildren[]\ " > " )
var br = document.createElement( " <br> " );
var br2 = document.createElement( " <br> " );
document.getElementById( " children " ).insertBefore(br);
document.getElementById( " children " ).insertBefore(br2);
document.getElementById( " children " ).insertBefore(input);
}
</ script >
< script type ="text/javascript" >
function add() {
var input = document.createElement( " <input size=30 type=\ " text\ " name=\ " extrachildren[]\ " > " )
var br = document.createElement( " <br> " );
var br2 = document.createElement( " <br> " );
document.getElementById( " children " ).insertBefore(br);
document.getElementById( " children " ).insertBefore(br2);
document.getElementById( " children " ).insertBefore(input);
}
</ script >
上面代码在FireFox中不工作
请采用下面方法:
Code:
< script type ="text/javascript" >
function add()
{
var input = document.createElement( ' input ' );
input.setAttribute( ' size ' , ' 30 ' );
input.setAttribute( ' type ' , ' text ' );
input.setAttribute( ' name ' , ' extrachildren[] ' );
var parent = document.getElementById( ' children ' );
parent.insertBefore(document.createElement( ' br ' ), null );
parent.insertBefore(document.createElement( ' br ' ), null );
parent.insertBefore(input, null );
}
</ script >
< script type ="text/javascript" >
function add()
{
var input = document.createElement( ' input ' );
input.setAttribute( ' size ' , ' 30 ' );
input.setAttribute( ' type ' , ' text ' );
input.setAttribute( ' name ' , ' extrachildren[] ' );
var parent = document.getElementById( ' children ' );
parent.insertBefore(document.createElement( ' br ' ), null );
parent.insertBefore(document.createElement( ' br ' ), null );
parent.insertBefore(input, null );
}
</ script >
IE有3种方式都可以创建一个元素:
1 document.createElement("<input type=text>")
2 document.createElement("<input>")
3 document.createElement("input")
Firefox只支持一种方式:
document.createElement("input");document.setAttribute(name,value);
------------
注: 在一个节点下增加子节点 IE也比Firefox下的方式要多.
IE:
1 node.insertBefore(Element)
2 node.insertAfter(Element)
3 node.appendChild(Element)
而Firefox仅支持 node.appendChild.
在IE里面,html元素如果可以作为容器,那么在document.createElement创建元素时是无法设置name属性的,比如:div,span,font等等。
相反不可以做为容器的,在用document.createElement创建元素时可以设置控件的name属性,比如:input,button,a,img等等