var doc =document;
this.borderDiv=doc.createElement("DIV");
this.borderDiv.id=this.borderId;
this.borderDiv.className="cont"; var winborder;
winborder= "<div class=\"tl\">"
+ "<div class=\"ml\">"
+ "<div class=\"bl\">"
+ "<div class=\"tm\">"
+ "<div class=\"bm\">"
+ "<div class=\"tr\">"
+ "<div class=\"mr\">"
+ "<div id=\"br\" class=\"br\">"
+ "</div> </div> </div> </div> </div> </div> </div> </div> ";
this.borderDiv.innerHTML=winborder;
doc.body.appendChild(this.borderDiv);
//我想获取中间那个div的对象 document.getElementById("br"); 但是获取不到
//我用this.borderDiv.childNodes[0].className ,,只能获取第一个div,,childNodes[1]就没得了
this.borderDiv=doc.createElement("DIV");
this.borderDiv.id=this.borderId;
this.borderDiv.className="cont"; var winborder;
winborder= "<div class=\"tl\">"
+ "<div class=\"ml\">"
+ "<div class=\"bl\">"
+ "<div class=\"tm\">"
+ "<div class=\"bm\">"
+ "<div class=\"tr\">"
+ "<div class=\"mr\">"
+ "<div id=\"br\" class=\"br\">"
+ "</div> </div> </div> </div> </div> </div> </div> </div> ";
this.borderDiv.innerHTML=winborder;
doc.body.appendChild(this.borderDiv);
//我想获取中间那个div的对象 document.getElementById("br"); 但是获取不到
//我用this.borderDiv.childNodes[0].className ,,只能获取第一个div,,childNodes[1]就没得了
this.borderDiv.childNodes[0].childNodes[0].className
this.borderDiv.childNodes[0].childNodes[0].childNodes[0].className
取得到那个对象了,,但是我不想在这样
alert(document.getElementById("br");)
}
这样子看看是不是object
<head>
<title>无标题页 </title>
<script language="javascript" type="text/javascript">
window.onload = function(){
var doc =document;
this.borderDiv=doc.createElement("DIV");
this.borderDiv.id=this.borderId;
this.borderDiv.className="cont";
var winborder;
winborder= "<div class=\"tl\">"
+ "<div class=\"ml\">"
+ "<div class=\"bl\">"
+ "<div class=\"tm\">"
+ "<div class=\"bm\">"
+ "<div class=\"tr\">"
+ "<div class=\"mr\">"
+ "<div id=\"br\" class=\"br\">"
+ "</div> </div> </div> </div> </div> </div> </div> </div> ";
this.borderDiv.innerHTML=winborder;
doc.body.appendChild(this.borderDiv);
dis();
};
var dis = function(){
var divs = document.getElementsByTagName('div');
for(var i = 0; div = divs[i]; i++){
if(div.id == 'br'){
alert('找到了');
}
}
};
</script>
</head>
<body> </body>
</html>
因为你的document.getElementById("id")写在对象前面,也就是说,对象元素还没加载完,你是无法获取到的,把代码放到window.onload里就安全保险了,有时候经常范这种错误