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)
。
已编辑:关于这个问题,我在这里检查了很多文章,但我根本找不到我的代码中的问题:该行(在下面评论)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)
。