在我的程序开始时,我正在声明并填充在整个程序的其余部分使用的4个数组:
var imageArrayGroup = [];
var floatingButtonArrayGroup = [];
for (i = 1; i < 3; i++) {
imageArrayGroup[i] = document.createElement("img");
imageArrayGroup[i].type = "image";
floatingButtonArrayGroup[i] = document.getElementById('floatingButton' + (100 + i));
floatingButtonArrayGroup[i].style.paddingLeft = "35px";
floatingButtonArrayGroup[i].style.paddingTop = "5px";
}
var imageArray = [];
var floatingButtonArray = [];
for (i = 1; i < 10; i++) {
imageArray[i] = document.createElement("img");
imageArray[i].type = "image";
floatingButtonArray[i] = document.getElementById('floatingButton' + (i));
floatingButtonArray[i].style.paddingLeft = "35px";
floatingButtonArray[i].style.paddingTop = "5px";
}
稍后在代码中,我调用一个引用数组的函数。
function clearThumbnails() {
for (i = 1; i < 10; i++) {
if (floatingButtonArray[i].hasChildNodes())
floatingButtonArray[i].removeChild(imageArray[i]);
}
for (i = 1; i < 3; i++) {
if (floatingButtonArrayGroup[i].hasChildNodes())
floatingButtonArrayGroup[i].removeChild(imageArrayGroup[i]);
}
}
运行此功能时,我收到错误&#34; Uncaught TypeError:无法读取属性&#39; 1&#39;未定义&#34;
为什么变量未定义?
完整代码可在以下位置找到:http://codepen.io/angstd/pen/ropca 点击&#34; Garage&#34;得到错误信息。
答案 0 :(得分:0)
您收到错误TypeError: floatingButtonArrayGroup[i] is null
,这似乎来自您的第一个循环。这是一个运行时错误,它将在该点终止脚本的执行。
这意味着作业var floatingButtonArray = [];
永远不会被执行。
看起来你正试图获得一个当时不存在的元素的引用。有关该问题的解决方案,请参阅Why does jQuery or a DOM method such as getElementById not find the element?。