关于td元素的添加

来源:9-22 编程练习

慕用6930380

2016-07-01 15:24

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元素依次添加才可以  为什么 

写回答 关注

2回答

  • 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);

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

    5E 回复慕用6930...

    命名相同就取代了原来的啊,所以添加不了两个

    2016-07-04 08:53:19

    共 2 条回复 >

  • 红袖侍读
    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);


JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468061 学习 · 21891 问题

查看课程

相似问题