function addClass(obj){                                             
    var thisClass=obj.parentNode.parentNode;
    var num=thisClass.childNodes.length;
    var newTable=document.createElement("table");
    var newTr=document.createElement("tr");
    var newTd=document.createElement("td");
    var newText=document.createElement("textarea");
    newText.style.borderTop="1px solid #D3E5F7";
    newText.style.width="89%";
    var creatTable=newTable.appendChild(newTr.appendChild(newTd.appendChild(newText)));
    thisClass.childNodes[num-4].appendChild(creatTable);
    thisClass.childNodes[num-5].appendChild(creatTable);
    thisClass.childNodes[num-3].appendChild(creatTable);
    thisClass.childNodes[num-2].appendChild(creatTable);
}
为什么我在用appendChild添加孩子时,明明是四个事件为什么只添加了一个。加急求解
如果需要可以qq教授

解决方案 »

  1.   

    creatTable是引用类型变量,也就是说执行的四次appendChild添加的其实是同一个东西,后面三次的时候该元素已经添加了,代码都白费了.function addClass(obj){   
      var thisClass=obj.parentNode.parentNode;
      var num=thisClass.childNodes.length;
        for(var i=4;i>=2;i--)
      {
        var newTable=document.createElement("table");
        var newTr=document.createElement("tr");
        var newTd=document.createElement("td");
        var newText=document.createElement("textarea");
        newText.style.borderTop="1px solid #D3E5F7";
        newText.style.width="89%";
        var creatTable=newTable.appendChild(newTr.appendChild(newTd.appendChild(newText)));
        thisClass.childNodes[num-i].appendChild(creatTable);
      }
    估计这样可以
      

  2.   

    添加重复节点时,使用cloneNode()方法
    thisClass.childNodes[num-4].appendChild(creatTable.cloneNode());
      

  3.   

    你代码可读性好差啊。
    [num-4] 这个是干嘛