getElementById(...) returns 意外为空

getElementById(...) returns null unexpectedly

已编辑:关于这个问题,我在这里检查了很多文章,但我根本找不到我的代码中的问题:该行(在下面评论)returns null,尽管我希望它 return 我在上面创建和添加的特定元素。

    element2 = document.createElement("button");
    element2.innerHTML = "-";
    element2.text = rowCounter;
    element2.style.backgroundColor = 'white';
    element2.id = "kuerzer"+rowCounter; //rowCounter is an iterator variable
    ell2.appendChild(element2);
    console.log(document.getElementById(element2.id)); //returns null

但是,我现在正试图在另一个函数中找到这个元素,如下所示:

function structureGantData(){
      var gantData = [[]];
      for(i=0; i<document.getElementById("myTable").rows.length; i++){
        console.log("schleife");
        gantData[i][0] = document.getElementById("kuerzer",(i+1)).text; //ISSUE

谁能帮帮我? :-)

非常感谢!

法比安

您还没有将创建的元素添加到 DOM,因此无法在那里找到它。

您可以使用 say Node.appendChild(或任何其他类似的)方法先将其附加到某处。

我相信你打算在 structureGantData 中调用 document.getElementById("kuerzer" + (i + 1)) 而不是 document.getElementById("kuerzer", i + 1)