如何添加div并在以后捡起它

Mar*_*kus 1 javascript css dhtml

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

在JavaScript中我添加了一个divDOM.我分配了一个id属性.当我稍后尝试拿起divid我得到的是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") );
Run Code Online (Sandbox Code Playgroud)

警报打印 "::null"

似乎在Firefox 2.0+中工作正常

Sho*_*og9 7

除了其他答案所建议的内容(您需要将元素实际插入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") );
Run Code Online (Sandbox Code Playgroud)

......按预期回应:

Added:obj_1000:obj_1000:[object]
Run Code Online (Sandbox Code Playgroud)

按照MSDN文档setAttribute(),最多IE8还有一个可选的第三个参数,控制它是否是大小写相对于属性名称敏感.猜猜默认是什么......