js动态的利用appendChild添加元素时报错。
ff下为:Node cannot be inserted at the specified point in the hierarchy" code: "3
ie下为:不支持此接口
用的库为YUI3.

解决方案 »

  1.   

    可以用啊
    <SCRIPT>
    function fnAppend(){
    var oNewNode = document.createElement("LI");
    oList.appendChild(oNewNode);
    oNewNode.innerHTML="List node 5";
    }
    </SCRIPT>
    <BODY>
    <UL ID = oList>
    <LI>List node 1
    <LI>List node 2
    <LI>List node 3
    <LI>List node 4
    </UL>
    <INPUT TYPE = "button" VALUE = "Append Child" onclick = "fnAppend()">
    </BODY>
      

  2.   

    有可能是因为你的父节点未闭合,把插入节点的代码往下移一点,或者放到onload里面
      

  3.   

    LZ 这个appendChild符合W3C标准呢,在MS,FF IE下都可以用,是不是你那什么地方弄错了,下面测试看看...
    <!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 http-equiv="Content-Type" content="text/html; charset=gb2312">
    <style type="text/css"> 
    #ajaxload{margin:0 auto;border:1px solid #F1F1F1;background-color:#F9F9F9; font-family:verdana; width:600px;height:30px;line-height:30px;text-align:center;} 
    </style> 
    </head> <body> 
    <b>TEST</b>
    <hr size="1" color="#FF3300">
    <p>&nbsp; </p> 
    <ul id="ul01"> 
    <li>Item01 </li> 
    <li>Item02 </li> 
    <li>Item03 </li> 
    <li>Item04 </li> 
    <li>Item05 </li> 
    <li>Item06 </li> 
    <li>Item07 </li> 
    <li>Item08 </li> 
    </ul> <p> JS 增加 动态增加元素</p>
    <input name="btn01" value="btn01" type="button" onClick="javascript:addLi();" /><br />
    <script language="javascript" type="text/javascript">
    var i=9;
    function addLi()
    {
    var t=document.createTextNode("Item:0"+(i++));
    var n=document.createElement('LI');
    n.appendChild(t);
    var p=document.getElementById("ul01");
    p.appendChild(n);
    }
    </script></body> 
    </html> 
      

  4.   

    你自己的代码写错了。不贴代码怎么看呢?appendChild是标准,本身是正确的
      

  5.   

    appendChild是标准不会错的楼主检查你这个节点是不是文本节点nodeType == 3, 文本节点是插不进去的
      

  6.   

    +
    var d = document.createElement("div");
    d.setAttribute("width", 200);
    document.body.appendChild(d);
      

  7.   

    oList.appendChild(oNewNode);
    oNewNode.innerHTML="List node 5";innerHTML虽然是跨浏览器属性 但没有纳入规范 
    要用appendChild 必须使用createTextNode方法创建文本才行oList.appendChild(document.createTextNode("List node 5"));