我有一个称为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个项目并从下至上删除时,它可以工作,但是当我从上至下或随机删除时,它会失败。