我认为这是IE 6.0特有的,但......
在JavaScript中我添加了一个div
DOM.我分配了一个id
属性.当我稍后尝试拿起div
由id
我得到的是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+中工作正常
除了其他答案所建议的内容(您需要将元素实际插入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]
按照MSDN文档的setAttribute()
,最多IE8还有一个可选的第三个参数,控制它是否是大小写相对于属性名称敏感.猜猜默认是什么......