TypeError:document.getElementById(index)为null

时间:2019-07-16 12:05:29

标签: javascript html arrays null getelementbyid

我有一个称为arrayofdivs的div数组和一个名为arrayofimgs的img数组。我的deleteRow(obj)函数在document.getElementById(index)按钮的arrayofdivs[1]上删除second click的arrayofimgs [1]和deleteRow(obj)时失败。当我尝试在3个元素的初始数组中首先删除arrayofimgs[1]arrayofdivs[1]时。 (即,我在数组中有3个元素,我删除第二个条目,然后剩下2个条目,当我现在删除第二个条目时,我得到TypeError: document.getElementById(index) is null

我的脚本已经被推迟。

var elevdivs = document.getElementsByClassName("ele");
arrayofdivs.push(elevdivs);
var imgspieces = document.getElementsByClassName("imgs");
arrayofimgs.push(imgspieces);

function deleteRow(obj) {
    var index = obj.parentNode.parentNode.rowIndex;
    var table = document.getElementById("admintable");
    table.deleteRow(index);
    document.getElementById(index).outerHTML = "";
    var imgid = "setimage" + index;
    document.getElementById(imgid).outerHTML = "";
    ProductsList.splice(index, 1);
    arrayofdivs.splice(index, 1);
    arrayofimgs.splice(index, 1);
    i--;
    var d = 0;
    for (var c = 0; c < arrayofdivs.length; c++) {
        arrayofdivs[c].id = d;
        arrayofimgs[c].id = "setimage" + d;
        d++;
        c++;
    }
}

该函数应删除表中单击的行及其对应的div和img(通过id值找到)。创建3个项目并从下至上删除时,它可以工作,但是当我从上至下或随机删除时,它会失败。

0 个答案:

没有答案