<html>
<head></head><body ></body>
</html><script type=text/javascript language=javascript>
<!--
var table1 = document.createElement("table");
var tbody = document.createElement("tbody");
var myCurrentRow = new Array(6);
var myCurrentColumn = new Array(6);
for(var i=0;i<6;i++)
{
myCurrentRow[i]=document.createElement("tr");
for(var j=0;j<6;j++)
{
myCurrentColumn[j] = document.createElement("td");
var text = document.createTextNode("我是第"+i+"行   , 第"+j+"列的文本");
myCurrentColumn[j].appendChild(text);
myCurrentRow[i].appendChild(myCurrentColumn[j]);
}
tbody.appendChild(myCurrentRow[i]);}table1.appendChild(tbody);
table1.setAttribute("border","1");
document.body.appendChild(table1);
table1.style.textAlign="Left";
               var p1=document.createElement("p");
alert(p1.outerHTML);
p1.outerHTML="<h1>我是新手</h1>";
alert(p1.outerHTML);
p1.id="dd";
alert(document.getElementById("dd").outerHTML);
table1.parentNode.appendChild(p1);
-->问几个不解的问题:
1:我明明修改了P标签的outerHTML为h1,为什么打印出来还是<p></p>
2:我在红色部分已经设置了p1的ID为dd(不是因为上面修改outerHTML的缘故,因为我把那行语句,删了,下面照样出现同样的问题),为什么在下面getElementById读取的时候,系统会提示说没有dd这个对象,也就是document.getElementById("dd")返回出来的是一个空对象?
 </script>

解决方案 »

  1.   


    table1.parentNode.appendChild(p1); 
    alert(document.getElementById("dd").outerHTML); // 拿到后面 要等p1插入到DOM中后 才能获取
      

  2.   

    outerHTML必须使用在有上下文的DOM无素上。
      

  3.   

    还没有创建对象 那来的outerHtml
      

  4.   


    什么叫"有上下文的DOM元素上"?我试了还是没用,您能说得再具体些一下,或者再举个例子吗,谢谢啦!
      

  5.   


    什么叫"有上下文的DOM元素上"?我试了还是没用,您能说得再具体些一下,或者再举个例子吗,谢谢啦!