您的位置:首页 > Web前端 > JavaScript

js创建兼容IE和firefox的DOM

2009-08-21 13:24 591 查看
我们都知道在IE中创建表单元素可以有三种方式


var oInput = document.createElement("input");


var oInput = document.createElement("<input />");


var oInput = document.createElement("<input name='' />");
在Firefox里面仅支持


var oInput = document.createElement("input");

想要兼容IE/Firefox动态创建radio button元素可以这样写:


function createRadio(name,id,value,isChecked)






{


var oRadio = null;


if(isIE)






{


oRadio = document.createElement("<input name='" + name + (isChecked ? "' checked='"+ isChecked +"'/>" : "' />"));


oRadio.id = id;


oRadio.type = "radio";


oRadio.value = value;


}


else






{


oRadio = document.createElement("input");


oRadio.setAttribute("type","radio");


oRadio.setAttribute("id",id);


oRadio.setAttribute("name",name);


oRadio.setAttribute("value",value);


if(isChecked)






{


oRadio.setAttribute("checked",isChecked);


}


}


return oRadio;


}
延伸一下,动态创建input任意元素代码片段如下即可:


function createElement(tagName,name,type,value)






{


var element = null;


try






{


element = document.createElement('<'+tagName+' name="'+name+'" />');


element.type = type;


element.value = value;


}


catch (e)






{


}


if (!element)






{


element = document.createElement(tagName);


element.setAttribute("type",type);


element.setAttribute("name",name);


element.setAttribute("value",value);


}


return element;


}

http://blog.163.com/baibing5411/blog/static/2690843120096702848694/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: