无法通过javascript函数追加行

Unable to append row through javascript function

本文关键字:函数 追加 javascript      更新时间:2023-09-26

我试图将一行附加到表。这是我试过的代码

function load() {
    for (var k = 0; k < 1; k++) {
        var myTableDiv = document.getElementById("pID");
        var tableBody = document.getElementById("tBody");
        var table = document.getElementById('pTable');
        table.appendChild(tableBody);
        for (var i = 0; i < 3; i++) {
            var tr = document.getElementById('RiskRow');
            tableBody.appendChild(tr);
            for (var j = 0; j < 1; j++) {
                var element1= document.getElementById('RiskTD');
                var element2= document.getElementById('severityTD');
                var element3= document.getElementById('mitigationTD');
                var element4= document.getElementById('contingencyTD');
                var element5= document.getElementById('riskStatusTD');
                tr.appendChild(element1);
                tr.appendChild(element2);
                tr.appendChild(element3);
                tr.appendChild(element4);
                tr.appendChild(element5);
            }
        }
        myTableDiv.appendChild(table);
    }
}

但是这会导致只追加一行。我需要在for循环之后添加多行。我不知道我说错了什么

不管你在那里有多余的循环(var k = 0; k < 1将总是执行一次…),你看到这种行为的原因是因为你试图一次又一次地追加相同的元素。这将导致元素被移动,而不是被复制。

看一下 document.cloneNode