Javascript 如何将div添加到DOM中,并在以后提取它
我认为这是IE 6.0特有的,但是 在JavaScript中,我向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")
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"));
奇怪…非常奇怪