我们都知道在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/
本文介绍了一种兼容Internet Explorer (IE) 和 Firefox 浏览器的方法,用于动态创建表单元素,特别是radiobutton元素。通过检测浏览器类型并采用不同的创建策略确保了跨浏览器的一致性。


95

被折叠的 条评论
为什么被折叠?



