开发过程中,需要使用JS向页面动态添加radio,实现时通过document.createElement()方法来实现,刚开始的代码如下:
var _radio = document.createElement("input");
_radio.type = "radio";
_radio.name = "_radio";
document.body.appendChild(_radio);
_radio = document.createElement("input");
_radio.type = "radio";
_radio.name = "_radio";
document.body.appendChild(_radio);
结果在IE浏览器上生成的raido无法选中,而使用firefox浏览器却可以选中。后来试了下面的代码:
var _radio = document.createElement("<input type='radio' name='_radio'>");
document.body.appendChild(_radio);
_radio = document.createElement("<input type='radio' name='_radio'>");
document.body.appendChild(_radio);
结果在IE上生成的radio可以选中了,但firefox浏览器中却无效。为此,对于不同的浏览器,需要使用不同的方式来生成radio,这个可以通过判断document是否具有uniqueID属性实现,因为uniqueID是IE特有的属性,为此可以通过下面代码来做到浏览器的兼容性:
if(document.uniqueID) {
//IE浏览器分支
var _radio = document.createElement("<input type='radio' name='_radio'>");
document.body.appendChild(_radio);
_radio = document.createElement("<input type='radio' name='_radio'>");
document.body.appendChild(_radio);
} else {
//非IE浏览器分支
var _radio = document.createElement("input");
_radio.type = "radio";
_radio.name = "_radio";
document.body.appendChild(_radio);
_radio = document.createElement("input");
_radio.type = "radio";
_radio.name = "_radio";
document.body.appendChild(_radio);
}
此外,在IE浏览中,通过document.createElement("input")来生成的radio和checkbox都无法通过document.getElementsByName()方法来获取。
分享到:
相关推荐
javascript中createElement的两种创建方式.docx
//定义方法创建一个label标签 //*************************************// 代码如下: var createLabel = function(id, name, value) { var label_var = document.createElement(“label”); var label_id = document...
03_createElement写法.html
其中obj.name = “select... [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 当然解决方法很简单,在创建时,使用document.createElement(“<input name=’select’>”)。不过还不知道是什么原因? 在Name属性的
主要介绍了javascript中createElement的两种创建方式,具有一定参考借鉴价值,需要的朋友可以参考下
利用createElement动态创建链接,div等代码
XML的创建和修改,首先是创建一个XML,然后修改刚刚创建的XML;代码如下:XmlDataDocument doc = new XmlDataDocument(); XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "GB2312", null); doc....
JS写图层方法.document.createElement(div).
obj = document.createElement(tag)创建一个标签,oParent.appendChild(obj)和oParent.insertBefore(obj,element)都是由要插入的标签的父节点调用,appendChild将创建的元素依次加在后面,而insertBefore则可以将...
iframe 的name可以是link或者form的target,将link或form打开到这个iframe上。...上面两种方式都无法设置。后来找到原来也可以这样创建 JavaScript代码 var iframe = document.createElement(‘<iframe name
var input = document.createElement(‘input’); var button = document.createElement(‘input’); input.type =’text’; input.id= ‘text’; input.value =’1′; button.type=’button’; ...
代码如下: var chk = document.createElement(“input”); chk.setAttribute(“type”,”checkbox”); container.appendChild(chk); chk.setAttribute(“checked”,true); 以上代码在ie8兼容模式和ff6下都没有总是...
本文用示例为大家介绍下动态创建一个元素createElement及删除一个元素,感兴趣的朋友可以参考下
docrel是document.createElement的瘦包装,使元素的创建更加容易。 它还有助于清理代码并避免重复。 没有依赖关系,没有blac docrel稍微好一点的document.createElement Docrel是document.createElement的一个薄包装...
使用jQuery解决IE与FireFox下createElement方法的差异。需要的朋友可以过来参考下,希望对大家有所帮助
最近有读者求助,说在iframe中,创建一个元素,然后添加到父页面中在ie6,ie7中行不通,而firefox和IE8可以。
动态添加option在某些特殊的情况下还是比较实用的,本文有个小示例为大家介绍下createElement使用,感兴趣的朋友可以参考下