问答详情
源自:9-22 编程练习

关于td元素的添加

var t = document.getElementById("table");

var x = document.createElement("tr"); 

var y = document.createElement("td"); 

x.appendChild(y);

x.appendChild(y);

x.appendChild(y);

t.appendChild(x);

为什么我这么写只添加了一个td元素上去  而不是添加了三个   换成 创建y  x  z 三个td元素依次添加才可以  为什么 

提问者:慕用6930380 2016-07-01 15:24

个回答

  • 5E
    2016-07-01 15:57:01
    已采纳

      var otest2 = document.getElementById("test2"); 
      var tr1 = document.createElement("tr");
      var th1 = document.createElement("th");  
      var th2 = document.createElement("th");
      
      var tr2 = document.createElement("tr");
      var td1 = document.createElement("td");  
      var td2 = document.createElement("td");
      
      otest2.appendChild(tr1);
      th1.innerHTML = "th1";
      th2.innerHTML = "th2";
      tr1.appendChild(th1);
      tr1.appendChild(th2);
      
      otest2.appendChild(tr2);
      td1.innerHTML = "td1";
      td2.innerHTML = "td2";
      tr2.appendChild(td1);
      tr2.appendChild(td2);

    你试试这段代码,就明白了~

  • 红袖侍读
    2016-07-07 13:34:30

    var t = document.getElementById("table");
    var x = document.createElement("tr"); 
    var y = document.createElement("td"); 
    x.appendChild(y);
    x.appendChild(y);
    x.appendChild(y);
    t.appendChild(x);

    命名是可以一样的,但是你只create了一个新节点啊,你后面x挂三次都是挂的这创建的一个节点,当然最后只添了一个td啦。改成如下这样就可以了

    var t = document.getElementById("table");
    var x = document.createElement("tr"); 
    var y = document.createElement("td"); 
    x.appendChild(y);
    y = document.createElement("td"); 
    x.appendChild(y);
    y = document.createElement("td"); 
    x.appendChild(y);
    
    t.appendChild(x);