如何在FireFox中动态创建html元素(createElement)

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 >

上面代码在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 >


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等等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值