代码之家  ›  专栏  ›  技术社区  ›  Peter Series

getElementById(…)意外返回null

  •  0
  • Peter Series  · 技术社区  · 8 年前

    已编辑 :我在这里几乎查阅了几十篇关于这个问题的文章,但我在代码中根本找不到问题:行(注释如下)返回null,尽管我希望它返回我在上面创建和添加的特定元素。

        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

    谁能帮我吗?:-)

    非常感谢!

    费边

    2 回复  |  直到 8 年前
        1
  •  4
  •   zerkms    8 年前

    您尚未将创建的元素添加到DOM中,因此在那里找不到它。

    你可以用say Node.appendChild (或任何其他类似的)方法先将其附加到某个位置。

        2
  •  0
  •   obataku    8 年前

    我想你是想打电话来的 document.getElementById("kuerzer" + (i + 1)) 而不是 document.getElementById("kuerzer", i + 1) 在里面 structureGantData .