<script>
var a=document.createElement("div");
alert(a.parentNode);
var b=document.createElement("div");
a.appendChild(b);
alert(a.parentNode);
</script>两次alert结果不同

解决方案 »

  1.   

    IE会在appendChild后,将createElement新创建的对象放到一个新的根节点document fragment下.
    FF则不会.所以IE下会不同.
      

  2.   

    可能是IE的bug,firefox或chrome不会出现此问题
      

  3.   

    果真是的第二个用:alert(a.parentNode.nodeName);就看出来了
      

  4.   

    #1 说滴差不多,nodeType: 11<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
     <head>
      <title> new document </title>
      <meta name="generator" content="editplus" />
      <meta name="author" content="" />
      <meta name="keywords" content="" />
      <meta name="description" content="" />
     </head> <body>
      <script>
    var a=document.createElement("div");
    alert(a.parentNode);
    var b=document.createElement("div");
    a.appendChild(b);
    alert(a.parentNode == document);
    for (var p in a.parentNode)
    {
    try
    {
    document.write("<br />", p, ": ", a.parentNode[p]);
    }
    catch (e)
    {
    document.write("<br />", p);
    }}  </script> </body>
    </html>
      

  5.   

    nodeType: 11 
    nodeName: #document-fragment又是 IE 自己搞怪,嘿嘿
      

  6.   

    抛开浏览器,光代码而言,不管你新建多少个div,都在内存中,并未到达页面,他们的parent都是null才对~~~~各个浏览器解析的不同~~~
      

  7.   

    在CSDN永远要低调做人哈,结贴给分~