我们都知道在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)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
var oRadio = null;
if(isIE)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
oRadio = document.createElement("<input name='" + name + (isChecked ? "' checked='"+ isChecked +"'/>" : "' />"));
oRadio.id = id;
oRadio.type = "radio";
oRadio.value = value;
}
else
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
oRadio = document.createElement("input");
oRadio.setAttribute("type","radio");
oRadio.setAttribute("id",id);
oRadio.setAttribute("name",name);
oRadio.setAttribute("value",value);
if(isChecked)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
oRadio.setAttribute("checked",isChecked);
}
}
return oRadio;
} 延伸一下,动态创建input任意元素代码片段如下即可:
function createElement(tagName,name,type,value)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
var element = null;
try
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
element = document.createElement('<'+tagName+' name="'+name+'" />');
element.type = type;
element.value = value;
}
catch (e)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
}
if (!element)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
element = document.createElement(tagName);
element.setAttribute("type",type);
element.setAttribute("name",name);
element.setAttribute("value",value);
}
return element;
}