【问题标题】:What am I forgetting in the loop?我在循环中忘记了什么?
【发布时间】:2018-07-02 02:21:39
【问题描述】:

我正在尝试创建一个具有 6 行table,但我无法理解我在for 循环中做错了什么。

<script>
    var table = document.createElement('table');
    var tbody = document.createElement('tbody');
    var tr = document.createElement('tr');
    var td = document.createElement('td');

    document.body.appendChild(table);
    table.appendChild(tbody);

    for (var i = 0; i < 6; i++) {
      tbody.appendChild(tr); // makes only 1 row, but should make 6 rows
    }
</script>

【问题讨论】:

    标签: javascript html loops


    【解决方案1】:

    您应该使用cloneNode() 方法创建&lt;TR&gt; 元素的克隆并附加它。

    for (var i = 0; i < 6; i++){    
        tbody.appendChild(tr.cloneNode(true));
    }
    

    【讨论】:

    • 是的,这对我来说是一个很好的替代方式,无需将 var tr cretion 放入循环中。
    【解决方案2】:

    您需要在循环内创建一个新行

    for (var i = 0; i < 6; i++){    
        tbody.appendChild( document.createElement('tr') ); 
    }
    

    【讨论】:

    • 是的! :) 谢谢你的朋友!
    猜你喜欢
    • 2013-09-08
    • 1970-01-01
    • 1970-01-01
    • 2013-09-23
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    • 1970-01-01
    • 2013-10-18
    相关资源
    最近更新 更多