18910140161

JavaScript-为什么当我调用这个函数时,我的表不是'T生成?-堆栈溢出

顺晟科技

2022-10-18 12:32:07

164

我正在尝试生成一个有2行的表格,每行有4个单元格。每个单元格都应该包含一个图像。我做错了什么?当我调用我的函数时,什么也没有发生。

function generateTable()
{

    var table = document.createElement("TABLE");
    table.setAttribute("id", "gameBoard");

    var row1 = document.createElement("TR");
    row1.setAttribute("id", "r1");

    table.appendChild(row1);

    for (var i = 0; i < 4; i++)
    {
        var card = document.createElement("TD");
        var card_img = document.createElement('img');
        card_img.setAttribute("img", "images/card_back.png");
        card.appendChild(card_img);

        row1.appendChild(card);
    }

    var row2 = document.createElement("TR");
    row2.setAttribute("id", "r2");

    table.appendChild(row2);


    for (var j = 0; j < 4; j++)
    {
        var card = document.createElement("TD");
        var card_img = document.createElement('img');
        card_img.setAttribute("img", "images/card_back.png");
        card.appendChild(card_img);

        row2.appendChild(card);
    }
}

顺晟科技:

最后,您必须执行document.appendChild(table);,因为您没有将元素添加到页面中(您可能认为您使用document.createElement执行了此操作,但这不会向DOM添加任何内容)。

如果你想把它添加到一个特定的元素,那么我会修改你的函数来接受一个包含你的游戏板的DIV的ID参数。

generateTable(elementId) { ... }

最后:

let toAdd = document.getElementById(elementId);
toAdd.appendChild(table);
  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航