Javascript 如何将div添加到DOM中,并在以后提取它

Javascript 如何将div添加到DOM中,并在以后提取它,javascript,css,dhtml,Javascript,Css,Dhtml,我认为这是IE 6.0特有的,但是 在JavaScript中,我向DOM添加了一个div。我分配了一个id属性。当我稍后尝试通过id拾取div时,我得到的是null 有什么建议吗 例如: var newDiv = document.createElement("DIV"); newDiv.setAttribute("ID", "obj_1000"); document.appendChild(newDiv); alert("Added:" + newDiv.getAttribute("ID")

我认为这是IE 6.0特有的,但是

在JavaScript中,我向DOM添加了一个
div
。我分配了一个
id
属性。当我稍后尝试通过
id
拾取
div
时,我得到的是
null

有什么建议吗

例如:

var newDiv = document.createElement("DIV");
newDiv.setAttribute("ID", "obj_1000");
document.appendChild(newDiv);

alert("Added:" + newDiv.getAttribute("ID") + ":" + newDiv.id + ":" + document.getElementById("obj_1000") );
警报打印
::null“


在Firefox 2.0+中似乎工作正常

您必须将div添加到dom中

// Create the Div
var oDiv = document.createElement('div');
document.body.appendChild(oDiv);

需要将div添加到元素中,使其成为文档的一部分

document.appendChild(newDiv);

alert( document.getElementById("obj_1000") );
newDiv.setAttribute(“ID”、“对象1000”)

应该是


newDiv.id=“obj_1000”

除了其他答案所建议的之外(您需要将元素实际插入DOM中,以便通过
getElementById()
)找到它),您还需要使用小写属性名,以便IE6将其识别为
id

var newDiv = document.createElement("DIV"); 
newDiv.setAttribute("id", "obj_1000");
document.body.appendChild(newDiv);

alert("Added:"
   + newDiv.getAttribute("id") 
   + ":" + newDiv.id + ":" 
   + document.getElementById("obj_1000") );
…如预期的那样响应:

Added:obj_1000:obj_1000:[object]


根据for
setAttribute()
,在IE8之前,有一个可选的第三个参数,用于控制属性名是否区分大小写。猜猜默认值是什么…

嗯,谢谢你们把我放在正确的轨道上,伙计们…这很奇怪,但事实证明,如果我将大小写改为小写,一切都会开始正常工作

完成结果:

var newDiv = document.createElement("DIV");
newDiv.setAttribute("id", "obj_1000");
document.appendChild(newDiv);

alert("Added:" +
      newDiv.getAttribute("id") + ":" +
      newDiv.id + ":" +
      document.getElementById("obj_1000"));
奇怪…非常奇怪