document.createElement("input")动态创建html元素

2008年09月14日 星期日 上午 00:02

最近研究createElement的时候发现一个奇怪的问题

var echkbox=document.createElement("input");
echkbox.setAttribute("type","checkbox");
echkbox.setAttribute("id","inputid");
echkbox.setAttribute("name","inputname");
echkbox.setAttribute("value","inputvalue");
echkbox.setAttribute("checked","checked");
var addhere=document.getElementByIdx("someElementId");
addhere.appendChild(echkbox);
alert(document.getElementByIdx("inputid").checked);

ie7显示出来的checkbox居然是未选中的但是alert出来的却是true,而FF一切正常
后来查了半天资料说是ie显示的时候只对状态改变比较敏感
改成
var echkbox=document.createElement("input");

echkbox.setAttribute("type","checkbox");
echkbox.setAttribute("id","inputid");
echkbox.setAttribute("name","inputname");
echkbox.setAttribute("value","inputvalue");
var addhere=document.getElementByIdx("someElementId");
addhere.appendChild(echkbox);
echkbox.setAttribute("checked","checked");
alert(document.getElementByIdx("inputid").checked);

一切ok
radio同样是这种情况。

转自 someone's something空间

你可能感兴趣的:(document.createElement("input")动态创建html元素)